/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.web;

import java.io.*;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UISelectItems;
import javax.faces.component.html.HtmlOutputText;
import javax.faces.component.html.HtmlSelectOneMenu;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionListener;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import javax.swing.ImageIcon;
import mrp.beans.ModeloCalzadoBean;
import mrp.beans.ModeloCalzadoBean.tablaEstructuraMateriales;
import mrp.beans.UsuarioBean;
import mrp.beans.util.JsfUtil;
import mrp.login.Login;
import mrp.persistencia.entity.*;
import org.primefaces.component.calendar.Calendar;
import org.primefaces.component.commandbutton.CommandButton;
import org.primefaces.component.datatable.DataTable;
import org.primefaces.component.dialog.Dialog;
import org.primefaces.component.inputtext.InputText;
import org.primefaces.component.inputtextarea.InputTextarea;
import org.primefaces.component.scrollpanel.ScrollPanel;
import org.primefaces.component.selectbooleancheckbox.SelectBooleanCheckbox;
import org.primefaces.component.fileupload.FileUpload;
import org.primefaces.component.graphicimage.GraphicImage;
import org.primefaces.context.RequestContext;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.DefaultStreamedContent;

/**
 *
 * @author root
 */
@ManagedBean(name="modelocalzadoWeb")
@SessionScoped
public class ModeloCalzadoWeb implements Serializable{
    @ManagedProperty("#{usuarioBean}")
    private UsuarioBean usuarioBean;
    @ManagedProperty("#{login}")
    private Login login;
//    @ManagedProperty("#{modelocalzado}")
    private ModeloCalzadoBean modelocalzadoBean;
    
    private SelectItem[] estadoOpciones=new SelectItem[3];
    public ModeloCalzadoWeb() {
        this.modelocalzadoBean=new ModeloCalzadoBean();
        this.estadoOpciones[0]=new SelectItem("","Seleccione...");
        this.estadoOpciones[1]=new SelectItem("true","Activo");
        this.estadoOpciones[2]=new SelectItem("false","Inactivo");
    
    }
    public Login getLogin() {
        return login;
    }

    public void setLogin(Login login) {
        this.login = login;
    }

    public UsuarioBean getUsuarioBean() {
        return usuarioBean;
    }

    public void setUsuarioBean(UsuarioBean usuarioBean) {
        this.usuarioBean = usuarioBean;
    }
    
    //_______________________________________________________________________________________________ 
    //----------------------------Componentes de ingreso--------------------------------     
    private char ingresoModificacion;//ingreso=i modificacion=m para identificar en el dialogo DialogoSeleccionarMaterialesModeloCalzadoIngresar  
    //-LineaProduccionFk
    private HtmlSelectOneMenu comboSeleccionarLineaProduccionFkModeloCalzado;
    
    //-hormaFk
    private HtmlSelectOneMenu comboSeleccionarHormaFkModeloCalzado;
    
    //-TallaEstandar
    private HtmlSelectOneMenu comboSeleccionarTallaEstandarModeloCalzado;
    
    //-Materia Prima
    private InputText textCodModeloCalzadoIngresar;
    private InputText textCodigoCalzadoIngresar;
    private InputText textNombreModeloCalzadoIngresar;
    private InputText textPrecioUnitarioModeloCalzadoIngresar;
    private InputTextarea textObservacionesModeloCalzadoIngresar;
    private CommandButton botonAgregarModeloCalzadoIngresar;
    private CommandButton botonQuitarModeloCalzadoIngresar;
    private DataTable tablaEstructuraMaterialesIngresar;
    private SelectBooleanCheckbox selectEstadoModeloCalzadoIngresar;
    private CommandButton botonImagenFrontalModeloCalzadoIngresar;
    //private CommandButton botonVerImagenFrontalModeloCalzadoIngresar;
    private CommandButton botonImagenPosteriorModeloCalzadoIngresar;
    //private CommandButton botonVerImagenPosteriorModeloCalzadoIngresar;
    private ScrollPanel scrollPanelTabla;
            
            //--tabla del detalle de materias primas que componen el modelo de calzado
                private List<ModeloCalzadoBean.tablaEstructuraMateriales> listaTablaEstructuraMateriales=new  ArrayList<ModeloCalzadoBean.tablaEstructuraMateriales>();
                private ModeloCalzadoBean.tablaEstructuraMateriales itemTablaEstructuraMaterialesSeleccionado;
            //--fin tabla del detalle de materias primas que componen el modelo de calzado    
                
            //--componentes de seleccion de materias primas para el modelo de calzado (detalle)
                private HtmlSelectOneMenu comboSeleccionarInsumoMateriaPrimaIngresar;
                private HtmlSelectOneMenu comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar;
                private InputText textCantidadMateriaPrimaModeloCalzadoIngresar; 
                private HtmlOutputText labelUnidadMedidaSeleccionarMateriales;
                private InputTextarea textDescripcionMaterialModeloCalzadoIngresar;
                private Calendar textFechaVigencia;
                private SelectBooleanCheckbox selectEsObligatorioMaterialModeloCalzadoIngresar;
            //--fincomponentes de seleccion de materias primas para el modelo de calzado (detalle)
             
            //--componentes de seleccion de imagen para el modelo de calzado 
                private FileUpload fileUploadImagenFrontalModeloCalzado;
                private FileUpload fileUploadImagenPosteriorModeloCalzado;
                private  byte[] bytesImagenFrontalModeloCalzado;//aqui se cargan los bytes de la imagen desde el metodo uploadImagenFrontalModeloCalzado
                private  byte[] bytesImagenPosteriorModeloCalzado;//aqui se cargan los bytes de la imagen desde el metodo uploadImagenPosteriorModeloCalzado
                private DefaultStreamedContent dmcImagen, dmcImagenFrontal, dmcImagenPosterior; //imagenes de los zapatos
            //--componentes de seleccion de imagen para el modelo de calzado     
    
    //-----------------fin Componentes ingreso-----------------------
    
    //----------------------------Componentes de consulta--------------------------------
    //Atributos para cargar la tabla
                
        private List <Modelocalzado> tablaDatosModelocalzado;
        private List <String> datosModelocalzadoSeleccionado;
        private Modelocalzado modelocalzadoSeleccionado; 
        
        private InputText textBuscarModelocalzado;
        private HtmlSelectOneMenu comboBuscarModelocalzado;
        private HtmlSelectOneMenu comboCoincidenciaBusquedaModelocalzado;
        
        private InputText textLineaProduccionFkModeloCalzadoConsultar;
        private InputText textHormaFkModeloCalzadoConsultar;
        private InputText textTallaEstandarModeloCalzadoConsultar;
        private InputText textEstadoModeloCalzadoConsultar;
        private InputText textTotalInsumosConsultar;
        private CommandButton botonDetallesMaterialModeloCalzadoConsultar;
        
        
//        private List<Estructuramaterialesbom>listaestructuramaterialesConsultar;
//        private Estructuramaterialesbom estructuramaterialesConsultarSeleccionado;
    //-----------------Componentes modificarDatos----------------------- 
                
    //_______________________________________________________________________________________________  
    //********************metodos Getters and Setters***************************

    public ModeloCalzadoBean getModelocalzadoBean() {
        return modelocalzadoBean;
    }

    public void setModelocalzado(ModeloCalzadoBean modelocalzado) {
        this.modelocalzadoBean = modelocalzado;
    }
    
    //-----------------Getters and Setters ingreso ---------------------------
        
    public CommandButton getBotonAgregarModeloCalzadoIngresar() {
        return botonAgregarModeloCalzadoIngresar;
    }

    public void setBotonAgregarModeloCalzadoIngresar(CommandButton botonAgregarModeloCalzadoIngresar) {
        this.botonAgregarModeloCalzadoIngresar = botonAgregarModeloCalzadoIngresar;
    }

    public CommandButton getBotonImagenFrontalModeloCalzadoIngresar() {
        return botonImagenFrontalModeloCalzadoIngresar;
    }

    public void setBotonImagenFrontalModeloCalzadoIngresar(CommandButton botonImagenFrontalModeloCalzadoIngresar) {
        this.botonImagenFrontalModeloCalzadoIngresar = botonImagenFrontalModeloCalzadoIngresar;
    }

    public CommandButton getBotonImagenPosteriorModeloCalzadoIngresar() {
        return botonImagenPosteriorModeloCalzadoIngresar;
    }

    public void setBotonImagenPosteriorModeloCalzadoIngresar(CommandButton botonImagenPosteriorModeloCalzadoIngresar) {
        this.botonImagenPosteriorModeloCalzadoIngresar = botonImagenPosteriorModeloCalzadoIngresar;
    }

    public CommandButton getBotonQuitarModeloCalzadoIngresar() {
        return botonQuitarModeloCalzadoIngresar;
    }

    public void setBotonQuitarModeloCalzadoIngresar(CommandButton botonQuitarModeloCalzadoIngresar) {
        this.botonQuitarModeloCalzadoIngresar = botonQuitarModeloCalzadoIngresar;
    }
    public HtmlSelectOneMenu getComboSeleccionarHormaFkModeloCalzado() {
        return comboSeleccionarHormaFkModeloCalzado;
    }

    public void setComboSeleccionarHormaFkModeloCalzado(HtmlSelectOneMenu comboSeleccionarHormaFkModeloCalzado) {
        this.comboSeleccionarHormaFkModeloCalzado = comboSeleccionarHormaFkModeloCalzado;
    }

    public HtmlSelectOneMenu getComboSeleccionarLineaProduccionFkModeloCalzado() {
        return comboSeleccionarLineaProduccionFkModeloCalzado;
    }

    public void setComboSeleccionarLineaProduccionFkModeloCalzado(HtmlSelectOneMenu comboSeleccionarLineaProduccionFkModeloCalzado) {
        this.comboSeleccionarLineaProduccionFkModeloCalzado = comboSeleccionarLineaProduccionFkModeloCalzado;
    }

    public HtmlSelectOneMenu getComboSeleccionarTallaEstandarModeloCalzado() {
        return comboSeleccionarTallaEstandarModeloCalzado;
    }

    public void setComboSeleccionarTallaEstandarModeloCalzado(HtmlSelectOneMenu comboSeleccionarTallaEstandarModeloCalzado) {
        this.comboSeleccionarTallaEstandarModeloCalzado = comboSeleccionarTallaEstandarModeloCalzado;
    }

    public SelectBooleanCheckbox getSelectEstadoModeloCalzadoIngresar() {
        return selectEstadoModeloCalzadoIngresar;
    }

    public void setSelectEstadoModeloCalzadoIngresar(SelectBooleanCheckbox selectEstadoModeloCalzadoIngresar) {
        this.selectEstadoModeloCalzadoIngresar = selectEstadoModeloCalzadoIngresar;
    }

    public DataTable getTablaEstructuraMaterialesIngresar() {
        return tablaEstructuraMaterialesIngresar;
    }

    public void setTablaEstructuraMaterialesIngresar(DataTable tablaEstructuraMaterialesIngresar) {
        this.tablaEstructuraMaterialesIngresar = tablaEstructuraMaterialesIngresar;
    }

    public InputText getTextCodModeloCalzadoIngresar() {
        return textCodModeloCalzadoIngresar;
    }

    public void setTextCodModeloCalzadoIngresar(InputText textCodModeloCalzadoIngresar) {
        this.textCodModeloCalzadoIngresar = textCodModeloCalzadoIngresar;
    }

    public InputText getTextCodigoCalzadoIngresar() {
        return textCodigoCalzadoIngresar;
    }

    public void setTextCodigoCalzadoIngresar(InputText textCodigoCalzadoIngresar) {
        this.textCodigoCalzadoIngresar = textCodigoCalzadoIngresar;
    }

    public InputText getTextNombreModeloCalzadoIngresar() {
        return textNombreModeloCalzadoIngresar;
    }

    public void setTextNombreModeloCalzadoIngresar(InputText textNombreModeloCalzadoIngresar) {
        this.textNombreModeloCalzadoIngresar = textNombreModeloCalzadoIngresar;
    }

    public InputTextarea getTextObservacionesModeloCalzadoIngresar() {
        return textObservacionesModeloCalzadoIngresar;
    }

    public void setTextObservacionesModeloCalzadoIngresar(InputTextarea textObservacionesModeloCalzadoIngresar) {
        this.textObservacionesModeloCalzadoIngresar = textObservacionesModeloCalzadoIngresar;
    }

    public InputText getTextPrecioUnitarioModeloCalzadoIngresar() {
        return textPrecioUnitarioModeloCalzadoIngresar;
    }

    public void setTextPrecioUnitarioModeloCalzadoIngresar(InputText textPrecioUnitarioModeloCalzadoIngresar) {
        this.textPrecioUnitarioModeloCalzadoIngresar = textPrecioUnitarioModeloCalzadoIngresar;
    }

    public ScrollPanel getScrollPanelTabla() {
        return scrollPanelTabla;
    }

    public void setScrollPanelTabla(ScrollPanel scrollPanelTabla) {
        this.scrollPanelTabla = scrollPanelTabla;
    }

    public HtmlSelectOneMenu getComboSeleccionarInsumoMateriaPrimaIngresar() {
        return comboSeleccionarInsumoMateriaPrimaIngresar;
    }

    public void setComboSeleccionarInsumoMateriaPrimaIngresar(HtmlSelectOneMenu comboSeleccionarInsumoMateriaPrimaIngresar) {
        this.comboSeleccionarInsumoMateriaPrimaIngresar = comboSeleccionarInsumoMateriaPrimaIngresar;
    }

    public HtmlSelectOneMenu getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar() {
        return comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar;
    }

    public void setComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar(HtmlSelectOneMenu comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar) {
        this.comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar = comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar;
    }

    public SelectBooleanCheckbox getSelectEsObligatorioMaterialModeloCalzadoIngresar() {
        return selectEsObligatorioMaterialModeloCalzadoIngresar;
    }

    public void setSelectEsObligatorioMaterialModeloCalzadoIngresar(SelectBooleanCheckbox selectEsObligatorioMaterialModeloCalzadoIngresar) {
        this.selectEsObligatorioMaterialModeloCalzadoIngresar = selectEsObligatorioMaterialModeloCalzadoIngresar;
    }

    public InputText getTextCantidadMateriaPrimaModeloCalzadoIngresar() {
        return textCantidadMateriaPrimaModeloCalzadoIngresar;
    }

    public void setTextCantidadMateriaPrimaModeloCalzadoIngresar(InputText textCantidadMateriaPrimaModeloCalzadoIngresar) {
        this.textCantidadMateriaPrimaModeloCalzadoIngresar = textCantidadMateriaPrimaModeloCalzadoIngresar;
    }

    public InputTextarea getTextDescripcionMaterialModeloCalzadoIngresar() {
        return textDescripcionMaterialModeloCalzadoIngresar;
    }

    public void setTextDescripcionMaterialModeloCalzadoIngresar(InputTextarea textDescripcionMaterialModeloCalzadoIngresar) {
        this.textDescripcionMaterialModeloCalzadoIngresar = textDescripcionMaterialModeloCalzadoIngresar;
    }

    public Calendar getTextFechaVigencia() {
        return textFechaVigencia;
    }

    public void setTextFechaVigencia(Calendar textFechaVigencia) {
        this.textFechaVigencia = textFechaVigencia;
    }

    public HtmlOutputText getLabelUnidadMedidaSeleccionarMateriales() {
        return labelUnidadMedidaSeleccionarMateriales;
    }

    public void setLabelUnidadMedidaSeleccionarMateriales(HtmlOutputText labelUnidadMedidaSeleccionarMateriales) {
        this.labelUnidadMedidaSeleccionarMateriales = labelUnidadMedidaSeleccionarMateriales;
    }

    public FileUpload getFileUploadImagenFrontalModeloCalzado() {
        return fileUploadImagenFrontalModeloCalzado;
    }

    public void setFileUploadImagenFrontalModeloCalzado(FileUpload fileUploadImagenFrontalModeloCalzado) {
        this.fileUploadImagenFrontalModeloCalzado = fileUploadImagenFrontalModeloCalzado;
    }

    public FileUpload getFileUploadImagenPosteriorModeloCalzado() {
        return fileUploadImagenPosteriorModeloCalzado;
    }

    public void setFileUploadImagenPosteriorModeloCalzado(FileUpload fileUploadImagenPosteriorModeloCalzado) {
        this.fileUploadImagenPosteriorModeloCalzado = fileUploadImagenPosteriorModeloCalzado;
    }

    public List<tablaEstructuraMateriales> getListaTablaEstructuraMateriales() {
        return listaTablaEstructuraMateriales;
    }

    public void setListaTablaEstructuraMateriales(List<tablaEstructuraMateriales> listaTablaEstructuraMateriales) {
        this.listaTablaEstructuraMateriales = listaTablaEstructuraMateriales;
    }

    public tablaEstructuraMateriales getItemTablaEstructuraMaterialesSeleccionado() {
        return itemTablaEstructuraMaterialesSeleccionado;
    }

    public void setItemTablaEstructuraMaterialesSeleccionado(tablaEstructuraMateriales itemTablaEstructuraMaterialesSeleccionado) {
        this.itemTablaEstructuraMaterialesSeleccionado = itemTablaEstructuraMaterialesSeleccionado;
    }

    public List<String> getDatosModelocalzadoSeleccionado() {
        return datosModelocalzadoSeleccionado;
    }

    public void setDatosModelocalzadoSeleccionado(List<String> datosModelocalzadoSeleccionado) {
        this.datosModelocalzadoSeleccionado = datosModelocalzadoSeleccionado;
    }

    public Modelocalzado getModelocalzadoSeleccionado() {
        return modelocalzadoSeleccionado;
    }

    public void setModelocalzadoSeleccionado(Modelocalzado modelocalzadoSeleccionado) {
        this.modelocalzadoSeleccionado = modelocalzadoSeleccionado;
    }

    public List<Modelocalzado> getTablaDatosModelocalzado() {
        return tablaDatosModelocalzado;
    }

    public void setTablaDatosModelocalzado(List<Modelocalzado> tablaDatosModelocalzado) {
        this.tablaDatosModelocalzado = tablaDatosModelocalzado;
    }

    public HtmlSelectOneMenu getComboBuscarModelocalzado() {
        return comboBuscarModelocalzado;
    }

    public void setComboBuscarModelocalzado(HtmlSelectOneMenu comboBuscarModelocalzado) {
        this.comboBuscarModelocalzado = comboBuscarModelocalzado;
    }

    public HtmlSelectOneMenu getComboCoincidenciaBusquedaModelocalzado() {
        return comboCoincidenciaBusquedaModelocalzado;
    }

    public void setComboCoincidenciaBusquedaModelocalzado(HtmlSelectOneMenu comboCoincidenciaBusquedaModelocalzado) {
        this.comboCoincidenciaBusquedaModelocalzado = comboCoincidenciaBusquedaModelocalzado;
    }

    public InputText getTextBuscarModelocalzado() {
        return textBuscarModelocalzado;
    }

    public void setTextBuscarModelocalzado(InputText textBuscarModelocalzado) {
        this.textBuscarModelocalzado = textBuscarModelocalzado;
    }

    public InputText getTextEstadoModeloCalzadoConsultar() {
        return textEstadoModeloCalzadoConsultar;
    }

    public void setTextEstadoModeloCalzadoConsultar(InputText textEstadoModeloCalzadoConsultar) {
        this.textEstadoModeloCalzadoConsultar = textEstadoModeloCalzadoConsultar;
    }

    public InputText getTextHormaFkModeloCalzadoConsultar() {
        return textHormaFkModeloCalzadoConsultar;
    }

    public void setTextHormaFkModeloCalzadoConsultar(InputText textHormaFkModeloCalzadoConsultar) {
        this.textHormaFkModeloCalzadoConsultar = textHormaFkModeloCalzadoConsultar;
    }

    public InputText getTextLineaProduccionFkModeloCalzadoConsultar() {
        return textLineaProduccionFkModeloCalzadoConsultar;
    }

    public void setTextLineaProduccionFkModeloCalzadoConsultar(InputText textLineaProduccionFkModeloCalzadoConsultar) {
        this.textLineaProduccionFkModeloCalzadoConsultar = textLineaProduccionFkModeloCalzadoConsultar;
    }

    public InputText getTextTallaEstandarModeloCalzadoConsultar() {
        return textTallaEstandarModeloCalzadoConsultar;
    }

    public void setTextTallaEstandarModeloCalzadoConsultar(InputText textTallaEstandarModeloCalzadoConsultar) {
        this.textTallaEstandarModeloCalzadoConsultar = textTallaEstandarModeloCalzadoConsultar;
    }

    public InputText getTextTotalInsumosConsultar() {
        return textTotalInsumosConsultar;
    }

    public void setTextTotalInsumosConsultar(InputText textTotalInsumosConsultar) {
        this.textTotalInsumosConsultar = textTotalInsumosConsultar;
    }

    public CommandButton getBotonDetallesMaterialModeloCalzadoConsultar() {
        return botonDetallesMaterialModeloCalzadoConsultar;
    }

    public void setBotonDetallesMaterialModeloCalzadoConsultar(CommandButton botonDetallesMaterialModeloCalzadoConsultar) {
        this.botonDetallesMaterialModeloCalzadoConsultar = botonDetallesMaterialModeloCalzadoConsultar;
    }

    public DefaultStreamedContent getDmcImagen() {
        return dmcImagen;
    }

    public void setDmcImagen(DefaultStreamedContent dmcImagen) {
        this.dmcImagen = dmcImagen;
    }

    
    
//    public Estructuramaterialesbom getEstructuramaterialesConsultarSeleccionado() {
//        return estructuramaterialesConsultarSeleccionado;
//    }
//
//    public void setEstructuramaterialesConsultarSeleccionado(Estructuramaterialesbom estructuramaterialesConsultarSeleccionado) {
//        this.estructuramaterialesConsultarSeleccionado = estructuramaterialesConsultarSeleccionado;
//    }
//
//    public List<Estructuramaterialesbom> getListaestructuramaterialesConsultar() {
//        return listaestructuramaterialesConsultar;
//    }
//
//    public void setListaestructuramaterialesConsultar(List<Estructuramaterialesbom> listaestructuramaterialesConsultar) {
//        this.listaestructuramaterialesConsultar = listaestructuramaterialesConsultar;
//    }

    public DefaultStreamedContent getDmcImagenFrontal() {
        return dmcImagenFrontal;
    }

    public void setDmcImagenFrontal(DefaultStreamedContent dmcImagenFrontal) {
        this.dmcImagenFrontal = dmcImagenFrontal;
    }

    public DefaultStreamedContent getDmcImagenPosterior() {
        return dmcImagenPosterior;
    }

    public void setDmcImagenPosterior(DefaultStreamedContent dmcImagenPosterior) {
        this.dmcImagenPosterior = dmcImagenPosterior;
    }

    public SelectItem[] getEstadoOpciones() {
        return estadoOpciones;
    }

    public void setEstadoOpciones(SelectItem[] estadoOpciones) {
        this.estadoOpciones = estadoOpciones;
    }
    
    
     
    
           
    
    //********************fin metodos Getters and Setters***************************
    //_______________________________________________________________________________________________    
   //*********************Metodos generales************************  
   public void initComponentes(String form)
   {
       if(form.equals("formDialogoIngresarModeloCalzado"))
       {
          String[] componentes={"textCodModeloCalzadoIngresar",
                                "comboSeleccionarLineaProduccionFkModeloCalzadoIngresar",
                                "comboSeleccionarHormaFkModeloCalzadoIngresar",
                                "textCodigoCalzadoIngresar",
                                "textNombreModeloCalzadoIngresar",
                                "comboSeleccionarTallaEstandarModeloCalzadoIngresar",
                                "textPrecioUnitarioModeloCalzadoIngresar",
                                "textObservacionesModeloCalzadoIngresar",
                                "selectEstadoModeloCalzadoIngresar",
                                "botonAgregarModeloCalzadoIngresar",
                                "botonQuitarModeloCalzadoIngresar",
                                "botonImagenFrontalModeloCalzadoIngresar",                                
                                "botonImagenPosteriorModeloCalzadoIngresar",                                
                                "tablaEstructuraMaterialesIngresar",
                                "scrollPanelTabla"};             
            this.setComponentes(form,componentes);//obtiene los datos de la vista web y los carga en los componentes de esta clase
            List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
            this.setEstilosTodosComponentes(listaComponentesEstilos,form);
       }
       else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
       {
          String[] componentes={"comboSeleccionarInsumoMateriaPrimaIngresar",
                                "comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar",
                                "textCantidadMateriaPrimaModeloCalzadoIngresar",
                                "labelUnidadMedidaSeleccionarMateriales",
                                "textDescripcionMaterialModeloCalzadoIngresar",
                                "textFechaVigencia",
                                "selectEsObligatorioMaterialModeloCalzadoIngresar"};             
            this.setComponentes(form,componentes);//obtiene los datos de la vista web y los carga en los componentes de esta clase
            List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
            this.setEstilosTodosComponentes(listaComponentesEstilos,form);
       }
       else if(form.equals("formBuscarModeloCalzado"))
       {
           String[] componentes={"textBuscarModeloCalzado",
                                "comboBuscarModeloCalzado",
                                "comboCoincidenciaBusquedaModeloCalzado"}; 
            this.setComponentes(form,componentes);//obtiene los datos de la vista web y los carga en los componentes de esta clase
            List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
            this.setEstilosTodosComponentes(listaComponentesEstilos,form);
       } 
       else if(form.equals("formDialogoDatosModeloCalzado"))
       {
          String[] componentes={"textCodModeloCalzadoConsultar",
                                "textLineaProduccionFkModeloCalzadoConsultar",
                                "textHormaFkModeloCalzadoConsultar",
                                "textCodigoCalzadoConsultar",
                                "textNombreModeloCalzadoConsultar",
                                "textTallaEstandarModeloCalzadoConsultar",
                                "textPrecioUnitarioModeloCalzadoConsultar",
                                "textObservacionesModeloCalzadoConsultar",
                                "textEstadoModeloCalzadoConsultar",
                                "botonDetallesMaterialModeloCalzadoConsultar",
                                "botonImagenFrontalModeloCalzadoConsultar",
                                "botonImagenPosteriorModeloCalzadoConsultar",                                                             
                                "textTotalInsumosConsultar"};             
            this.setComponentes(form,componentes);//obtiene los datos de la vista web y los carga en los componentes de esta clase
//            List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
//            this.setEstilosTodosComponentes(listaComponentesEstilos,form);
       }
       else if(form.equals("formDialogoModificarModeloCalzado"))
       {
           String[] componentes={"textCodModeloCalzadoModificar",
                                "comboSeleccionarLineaProduccionFkModeloCalzadoModificar",
                                "comboSeleccionarHormaFkModeloCalzadoModificar",
                                "textCodigoCalzadoModificar",
                                "textNombreModeloCalzadoModificar",
                                "comboSeleccionarTallaEstandarModeloCalzadoModificar",
                                "textPrecioUnitarioModeloCalzadoModificar",
                                "textObservacionesModeloCalzadoModificar",
                                "selectEstadoModeloCalzadoModificar",
                                "botonAgregarModeloCalzadoModificar",
                                "botonQuitarModeloCalzadoModificar",
                                "botonImagenFrontalModeloCalzadoModificar",                                
                                "botonImagenPosteriorModeloCalzadoModificar",                                
                                "tablaEstructuraMaterialesModificar",
                                "scrollPanelTablaModificar"};             
            this.setComponentes(form,componentes);//obtiene los datos de la vista web y los carga en los componentes de esta clase
            List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
            this.setEstilosTodosComponentes(listaComponentesEstilos,form);
       }
   }
   public void updateComponente(String form,String componente)
   { 
       try{
        RequestContext context = RequestContext.getCurrentInstance();
        //execute javascript oncomplete
        //context.execute("PrimeFaces.info('Hello from the Backing Bean');");


            //update panel
        System.out.println(" --------^^^^^^^`` form= "+form+" context = "+context.toString());
        context.update(form+componente);

            //scroll to panel
            //context.scrollTo("form:panel")

            //add facesmessage
            //FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Success", "Success"));
       }
       catch(Exception e)
       {
           System.out.println("error en metodo updateComponente: "+e);
       }
   }
   public void mostrarDialogo(String form, String componente, boolean visible)
   {
       javax.faces.context.FacesContext facesContext = javax.faces.context.FacesContext.getCurrentInstance();
       javax.faces.component.UIViewRoot root = facesContext.getViewRoot();
       Dialog dialogo=(Dialog)root.findComponent(form).findComponent(componente);
       dialogo.setVisible(visible);     
   }
   public void mostrarMensajeJS(String mensaje, String form, String componente, boolean componenteVisible ) 
   {
        RequestContext context = RequestContext.getCurrentInstance();
     
        //execute javascript oncomplete
        context.execute("window.alert ('"+mensaje+"');");    
        System.out.println("ya opaso por aca--------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        if(componenteVisible==true)
        {
            this.mostrarDialogo(form, componente, componenteVisible);            
        }        
    }
    public void setComponentes(String form, String [] componente)// setea los componentes de vistas de con los componentes de esta clase
   {
       javax.faces.context.FacesContext facesContext = javax.faces.context.FacesContext.getCurrentInstance();
      
       javax.faces.component.UIViewRoot root = facesContext.getViewRoot();
//       System.out.println("valor del htmlselectone "+componente[0]+"   --- "+((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[0])).getValue());
       if(form.equals("formDialogoIngresarModeloCalzado")||form.equals("formDialogoModificarModeloCalzado"))
       {   
           this.setTextCodModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[0]));
           this.setComboSeleccionarLineaProduccionFkModeloCalzado((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[1]));
           this.setComboSeleccionarHormaFkModeloCalzado((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[2]));
           this.setTextCodigoCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[3]));
           this.setTextNombreModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[4]));
           this.setComboSeleccionarTallaEstandarModeloCalzado((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[5]));
           this.setTextPrecioUnitarioModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[6]));
           this.setTextObservacionesModeloCalzadoIngresar((InputTextarea)root.findComponent(form).findComponent(componente[7]));
           this.setSelectEstadoModeloCalzadoIngresar((SelectBooleanCheckbox)root.findComponent(form).findComponent(componente[8]));
           this.setBotonAgregarModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[9]));
           this.setBotonQuitarModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[10]));
           this.setBotonImagenFrontalModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[11]));
//           this.setBotonVerImagenFrontalModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[12]));
           this.setBotonImagenPosteriorModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[12]));
//           this.setBotonVerImagenPosteriorModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[14]));
           this.setTablaEstructuraMaterialesIngresar((DataTable)root.findComponent(form).findComponent(componente[13]));
           this.setScrollPanelTabla((ScrollPanel)root.findComponent(form).findComponent(componente[14]));
//           System.out.println("---ZZZZ agregado formDialogoIngresarModeloCalzado ");           
       }
       else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
       {   
           this.setComboSeleccionarInsumoMateriaPrimaIngresar((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[0]));
           this.setComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[1]));
           this.setTextCantidadMateriaPrimaModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[2]));
           this.setLabelUnidadMedidaSeleccionarMateriales((HtmlOutputText)root.findComponent(form).findComponent(componente[3]));
           this.setTextDescripcionMaterialModeloCalzadoIngresar((InputTextarea)root.findComponent(form).findComponent(componente[4]));
           this.setTextFechaVigencia((Calendar)root.findComponent(form).findComponent(componente[5]));
           this.setSelectEsObligatorioMaterialModeloCalzadoIngresar((SelectBooleanCheckbox)root.findComponent(form).findComponent(componente[6]));           
//           System.out.println("---ZZZZ agregado formDialogoIngresarModeloCalzado ");           
       }
       else if(form.equals("formBuscarModeloCalzado"))
       {
          this.setTextBuscarModelocalzado((InputText)root.findComponent(form).findComponent(componente[0]));
          this.setComboBuscarModelocalzado((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[1]));
          this.setComboCoincidenciaBusquedaModelocalzado((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[2]));
       }
       else if(form.equals("formDialogoDatosModeloCalzado"))
       {   
           this.setTextCodModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[0]));
           this.setTextLineaProduccionFkModeloCalzadoConsultar((InputText)root.findComponent(form).findComponent(componente[1]));
           this.setTextHormaFkModeloCalzadoConsultar((InputText)root.findComponent(form).findComponent(componente[2]));
           this.setTextCodigoCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[3]));
           this.setTextNombreModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[4]));
           this.setTextTallaEstandarModeloCalzadoConsultar((InputText)root.findComponent(form).findComponent(componente[5]));
           this.setTextPrecioUnitarioModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[6]));
           this.setTextObservacionesModeloCalzadoIngresar((InputTextarea)root.findComponent(form).findComponent(componente[7]));
           this.setTextEstadoModeloCalzadoConsultar((InputText)root.findComponent(form).findComponent(componente[8]));
           this.setBotonDetallesMaterialModeloCalzadoConsultar((CommandButton)root.findComponent(form).findComponent(componente[9]));
           this.setBotonImagenFrontalModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[10]));
           this.setBotonImagenPosteriorModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[11]));
           this.setTextTotalInsumosConsultar((InputText)root.findComponent(form).findComponent(componente[12]));
           
       }
       
    }
    public void resetComponentes(String form)
    {
       if(form.equals("formDialogoIngresarModeloCalzado")||form.equals("formDialogoModificarModeloCalzado"))
       {
           try{
               this.bytesImagenFrontalModeloCalzado=null;
               this.bytesImagenPosteriorModeloCalzado=null;
                this.getTextCodModeloCalzadoIngresar().setValue("");
                this.getComboSeleccionarLineaProduccionFkModeloCalzado().setValue("0");
                this.getComboSeleccionarHormaFkModeloCalzado().setValue("0");
                this.getTextCodigoCalzadoIngresar().setValue("");
                this.getTextNombreModeloCalzadoIngresar().setValue("");
                this.getComboSeleccionarTallaEstandarModeloCalzado().setValue("0");
                this.getTextPrecioUnitarioModeloCalzadoIngresar().setValue("");
                this.getTextObservacionesModeloCalzadoIngresar().setValue("");
                this.getSelectEstadoModeloCalzadoIngresar().setSelected(true);
                this.getBotonAgregarModeloCalzadoIngresar();
                this.getBotonQuitarModeloCalzadoIngresar();
                this.getBotonImagenFrontalModeloCalzadoIngresar();
//                this.getBotonVerImagenFrontalModeloCalzadoIngresar();
                this.getBotonImagenPosteriorModeloCalzadoIngresar();
//                this.getBotonVerImagenPosteriorModeloCalzadoIngresar();
                this.getTablaEstructuraMaterialesIngresar().getChildren().clear();
                this.getListaTablaEstructuraMateriales().clear();//se setea los datos de la clase donde estan los datos del detalle de materias primas del modelo de calzado
           }
           catch(java.lang.NullPointerException npe)
            {
                System.out.println("-------------Excepcion en resetComponentes() "+npe);
            }
       }
       else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
       {
           try{
                this.getComboSeleccionarInsumoMateriaPrimaIngresar().setValue("0");
                this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().setValue("0");
                this.getTextCantidadMateriaPrimaModeloCalzadoIngresar().setValue("");
                this.getLabelUnidadMedidaSeleccionarMateriales().setValue("");
                this.getTextDescripcionMaterialModeloCalzadoIngresar().setValue("");
                this.getTextFechaVigencia().resetValue();             
                this.getSelectEsObligatorioMaterialModeloCalzadoIngresar().setSelected(true);                
           }
           catch(java.lang.NullPointerException npe)
            {
                System.out.println("-------------Excepcion en resetComponentes() "+npe+"formDialogoSeleccionarMaterialesModeloCalzadoIngresar" );
            }
       }
       else if(form.equals("formBuscarModeloCalzado"))
       {
          this.getTextBuscarModelocalzado().setValue("");
          this.getComboBuscarModelocalzado().resetValue();
          this.getComboCoincidenciaBusquedaModelocalzado().resetValue();
       }
    }
    private List<String> getEstilosTodosComponentes(String form)
    {
        List<String>listaComponentesEstilos=new ArrayList<String>();
        if(form.equals("formDialogoIngresarModeloCalzado")||form.equals("formDialogoModificarModeloCalzado"))
        {
           listaComponentesEstilos.add("width: 150px; font-size: 12px;left: 155px; top: 22px; position: absolute");
           listaComponentesEstilos.add("width: 242px; font-size: 12px;left: 155px; top: 52px; position: absolute");
           listaComponentesEstilos.add("width: 242px; font-size: 12px;left: 155px; top: 82px; position: absolute");
           listaComponentesEstilos.add("width: 235px; font-size: 12px;left: 155px; top: 112px; position: absolute");
           listaComponentesEstilos.add("width: 235px; font-size: 12px;left: 155px; top: 142px; position: absolute");
           listaComponentesEstilos.add("width: 120px; font-size: 12px;left: 155px; top: 172px; position: absolute");
           listaComponentesEstilos.add("width: 115px; font-size: 12px;left: 155px; top: 202px; position: absolute");
           
           listaComponentesEstilos.add("width: 235px;height: 150px; font-size: 12px;left: 550px; top:20px; position: absolute ; overflow-y: auto");
           listaComponentesEstilos.add("width: 150px; font-size: 12px;left: 155px; top: 410px; position: absolute");
           
           listaComponentesEstilos.add("font-size: 12px ;left: 155px; top: 232px; position: absolute; width: 120px");
           listaComponentesEstilos.add("font-size: 12px ;left: 281px; top: 232px; width: 120px; position: absolute");
           
           listaComponentesEstilos.add("font-size: 12px ;left: 550px; top: 190px; width: 160px; position: absolute");
//           listaComponentesEstilos.add("font-size: 12px ;left: 715px; top: 190px; width: 70px; position: absolute");
           listaComponentesEstilos.add("font-size: 12px ;left: 550px; top: 225px; width: 160px; position: absolute");
//           listaComponentesEstilos.add("font-size: 12px ;left: 715px; top: 225px; width: 70px; position: absolute");
           listaComponentesEstilos.add("width: 639px");
           listaComponentesEstilos.add("max-height: 135px;left: 155px; top: 267px; position: absolute");
        }
        else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
        {
           listaComponentesEstilos.add("width: 242px; font-size: 12px;left: 155px; top: 22px; position: absolute");
           listaComponentesEstilos.add("width: 242px; font-size: 12px;left: 155px; top: 52px; position: absolute");
           listaComponentesEstilos.add("width: 115px; font-size: 12px;left: 155px; top: 82px; position: absolute");
           listaComponentesEstilos.add("vertical-align: middle; font-weight: bold;text-align: right; height: 20px; width: 125px;left:195px; top: 85px; position: absolute ; font-size: 12px");
           listaComponentesEstilos.add("width: 235px;height: 150px; font-size: 12px;left: 155px; top:112px; position: absolute ; overflow-y: auto");
           listaComponentesEstilos.add("font-size: 9pt;left: 155px; top: 282px; position: absolute");
           listaComponentesEstilos.add("width: 150px; font-size: 12px;left: 155px; top: 312px; position: absolute");                      
        }
        else if(form.equals("formBuscarModeloCalzado"))
       {
          listaComponentesEstilos.add("font-size: 12px");
          listaComponentesEstilos.add("font-size: 12px;height: 25px;alignment-baseline: middle ");
          listaComponentesEstilos.add("font-size: 12px;height: 25px;alignment-baseline: middle");
       }
//        listaComponentesEstilos.add("");
        return listaComponentesEstilos;
    }
    private void setEstilosTodosComponentes(List<String>listaComponentesEstilos, String form)
    {
       if(form.equals("formDialogoIngresarModeloCalzado")||form.equals("formDialogoModificarModeloCalzado"))
       {
            this.getTextCodModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(0).toString());
            this.getComboSeleccionarLineaProduccionFkModeloCalzado().setStyle(listaComponentesEstilos.get(1).toString());
            this.getComboSeleccionarHormaFkModeloCalzado().setStyle(listaComponentesEstilos.get(2).toString());
            this.getTextCodigoCalzadoIngresar().setStyle(listaComponentesEstilos.get(3).toString());
            this.getTextNombreModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(4).toString());
            this.getComboSeleccionarTallaEstandarModeloCalzado().setStyle(listaComponentesEstilos.get(5).toString());
            this.getTextPrecioUnitarioModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(6).toString());
            this.getTextObservacionesModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(7).toString());
            this.getSelectEstadoModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(8).toString());
            this.getBotonAgregarModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(9).toString());
            this.getBotonQuitarModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(10).toString());
            this.getBotonImagenFrontalModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(11).toString());
//            this.getBotonVerImagenFrontalModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(12).toString());
            this.getBotonImagenPosteriorModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(12).toString());
//            this.getBotonVerImagenPosteriorModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(14).toString());
            this.getTablaEstructuraMaterialesIngresar().setStyle(listaComponentesEstilos.get(13).toString());
            this.getScrollPanelTabla().setStyle(listaComponentesEstilos.get(14).toString());
        }
        else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
        {           
                this.getComboSeleccionarInsumoMateriaPrimaIngresar().setStyle(listaComponentesEstilos.get(0).toString());
                this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(1).toString());
                this.getTextCantidadMateriaPrimaModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(2).toString());
                this.getLabelUnidadMedidaSeleccionarMateriales().setStyle(listaComponentesEstilos.get(3).toString());
                this.getTextDescripcionMaterialModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(4).toString());
                this.getTextFechaVigencia().setStyle(listaComponentesEstilos.get(5).toString());          
                this.getSelectEsObligatorioMaterialModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(6).toString());               
        }
       else if(form.equals("formBuscarModeloCalzado"))
       {
          this.getTextBuscarModelocalzado().setStyle(listaComponentesEstilos.get(0).toString());
          this.getComboBuscarModelocalzado().setStyle(listaComponentesEstilos.get(1).toString());
          this.getComboCoincidenciaBusquedaModelocalzado().setStyle(listaComponentesEstilos.get(2).toString());
       }
    }
    public boolean esCamposVacios(List<Object>listaComponentes, String form)
    {
        boolean vacio=false;
        List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
       if(form.equals("formDialogoIngresarModeloCalzado")||form.equals("formDialogoModificarModeloCalzado"))
       {
           int posiciones[]={1,2,5};
           for(int i=0;i<posiciones.length;i++)
           {
                String seleccion=((HtmlSelectOneMenu)listaComponentes.get(posiciones[i])).getValue().toString();
                if(seleccion.equals("0"))
                {               
                    JsfUtil.mostrarMensaje("error", "Seleccione una de las opciones!", "");
                    vacio=true;
                    ((HtmlSelectOneMenu)listaComponentes.get(posiciones[i])).setStyle(listaComponentesEstilos.get(posiciones[i])+";border-color: crimson;background-color: crimson");            
                }
           }
           int posiciones1[]={3,4,6};
           for(int i=0;i<posiciones1.length;i++)
           {
                try{
                    if(((InputText)listaComponentes.get(posiciones1[i])).getValue().toString().isEmpty())
                    {
                        vacio=true;
                        ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
                    }
                    else
                    {
                        String str=((InputText)listaComponentes.get(posiciones1[i])).getValue().toString();
                        if((posiciones1[i]==6))
                        {   
                            try
                            {
                                double precio=Double.parseDouble(str);
                            }
                            catch(NumberFormatException nfe)
                            {
                                vacio=true;
                                ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
                                System.out.println("½½½½½½½½  Error en conversion de numero double en precio "+nfe);
                            }
                        }
                    }
                }
                catch(java.lang.NullPointerException npe){
                        vacio=true;
                        ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
                }
           }
           DataTable tabla=(DataTable)listaComponentes.get(13);
           System.out.println("½½½½½½½½  ttaaaaablllaaaaaaaa= get rows count "+tabla.getRowCount()+" row data = ");
           if(tabla.getRowCount()==1)
           {
               vacio=true;
               this.getScrollPanelTabla().setStyle(listaComponentesEstilos.get(14)+";border-color: crimson");
           }
       }
       else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
       {
           int posiciones[]={0,1};
           for(int i=0;i<posiciones.length;i++)
           {
                String seleccion=((HtmlSelectOneMenu)listaComponentes.get(posiciones[i])).getValue().toString();
                if(seleccion.equals("1"))
                {               
                    JsfUtil.mostrarMensaje("error", "Seleccione una de las opciones!", "");
                    vacio=true;
                    ((HtmlSelectOneMenu)listaComponentes.get(posiciones[i])).setStyle(listaComponentesEstilos.get(posiciones[i])+";border-color: crimson;background-color: crimson");            
                }
           }
           int posiciones1[]={2};
           for(int i=0;i<posiciones1.length;i++)
           {
                try{
                    String str=((InputText)listaComponentes.get(posiciones1[i])).getValue().toString();
                       
                    try
                    {
                        double precio=Double.parseDouble(str);
                    }
                    catch(NumberFormatException nfe)
                    {
                        vacio=true;
                        ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
                        System.out.println("½½½½½½½½  Error en conversion de numero double en precio "+nfe);
                    }
                }
                catch(java.lang.NullPointerException npe){
                        vacio=true;
                        ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
                }
           }
           try{
                String str=JsfUtil.convertirFecha((Date)((Calendar)listaComponentes.get(5)).getValue());
                vacio=(!JsfUtil.verficaFechaMenorFechaActual(str));
           }
           catch(java.lang.NullPointerException npe){
                    vacio=true;
                    ((Calendar)listaComponentes.get(5)).setStyle(listaComponentesEstilos.get(5)+";background-color: crimson");
           }
       }
       else if(form.equals("formBuscarModeloCalzado"))
       {
           String seleccionCombo=((HtmlSelectOneMenu)listaComponentes.get(1)).getValue().toString();
           if(seleccionCombo.equals("tallaestandar"))
           {
                String str=((InputText)listaComponentes.get(0)).getValue().toString().trim();
                if(!((!(str.matches("[0-9]*")))==false))
                {
                    vacio=true;
                    ((InputText)listaComponentes.get(0)).setStyle(listaComponentesEstilos.get(0)+";border-color: crimson ");
                    JsfUtil.mostrarMensaje("error", "Error: Formato de numero invalido", "");                    
                }
                if(str.isEmpty())
                {
                     vacio=true;
                    ((InputText)listaComponentes.get(0)).setStyle(listaComponentesEstilos.get(0)+";border-color: crimson ");
                    JsfUtil.mostrarMensaje("error", "Error: Formato de numero invalido", ""); 
                }
           }           
       }
        this.updateComponente(form,"");
        return vacio;
    }
   //*********************fin Metodos generales************************  
  //_______________________________________________________________________________________________    
   
    //.-metodos para agregar datos a la tabla de detalle de materia prima    
    public boolean agregarFila(String nombreInsumo, String nombreMateriaPrima,double cantidad,String nombreUnidadMedida,String fechaVigencia, String esObligatorio,String descripcion, String insumo_fk, String materiaPrima_fk,  String modeloCalzado_fk) {

            ModeloCalzadoBean.tablaEstructuraMateriales nuevaFilaEstructura = new ModeloCalzadoBean.tablaEstructuraMateriales(nombreInsumo, nombreMateriaPrima, cantidad, nombreUnidadMedida, fechaVigencia,esObligatorio, descripcion,  insumo_fk, materiaPrima_fk,   modeloCalzado_fk);
            return this.getListaTablaEstructuraMateriales().add(nuevaFilaEstructura);
    }

    public boolean eliminarFila(ModeloCalzadoBean.tablaEstructuraMateriales eliminarFilaEstructura) {
           
            return this.getListaTablaEstructuraMateriales().remove(eliminarFilaEstructura);
    }
    //.-fin metodos agregar datos tabla de detalle de materia prima
    
    
   public void clickBotonNuevaModeloCalzado()//boton del toolbar
   {
       this.initComponentes("formDialogoIngresarModeloCalzado");  
       
       //carga los datos en los SelectOneMenu Lineaproduccion 
            List <Lineaproduccion> listaLineaproduccion=this.getModelocalzadoBean().getLineaproduccionController().findLineaproduccionEntities();        

            List<SelectItem> selectOneMenuListLineaproduccion = new ArrayList<SelectItem>();  
            selectOneMenuListLineaproduccion.add(new SelectItem("0","Seleccione..."));
            for(int i=0;i<listaLineaproduccion.size();i++)
            {
                String codLineaproduccion=listaLineaproduccion.get(i).getNumerolineaproduccion();
                String nombreLineaproduccion=listaLineaproduccion.get(i).getNombrelineaproduccion();
                selectOneMenuListLineaproduccion.add(new SelectItem(codLineaproduccion+"|"+nombreLineaproduccion,nombreLineaproduccion));
                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
            }                   
            UISelectItems itemsLineaproduccion = new UISelectItems();  
            itemsLineaproduccion.setValue(selectOneMenuListLineaproduccion); 
            this.getComboSeleccionarLineaProduccionFkModeloCalzado().getChildren().clear();
            this.getComboSeleccionarLineaProduccionFkModeloCalzado().getChildren().add(itemsLineaproduccion);
            
       //carga los datos en los SelectOneMenu Horma 
            List <Horma> listaHorma=this.getModelocalzadoBean().getHormaController().findHormaEntities();        

            List<SelectItem> selectOneMenuListHorma = new ArrayList<SelectItem>();  
            selectOneMenuListHorma.add(new SelectItem("0","Seleccione..."));
            for(int i=0;i<listaHorma.size();i++)
            {
                String codHorma=listaHorma.get(i).getCodhorma();
                String nombreHorma=listaHorma.get(i).getNombrehorma();
                selectOneMenuListHorma.add(new SelectItem(codHorma+"|"+nombreHorma,nombreHorma));
                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
            }                   
            UISelectItems itemsHorma = new UISelectItems();  
            itemsHorma.setValue(selectOneMenuListHorma); 
            this.getComboSeleccionarHormaFkModeloCalzado().getChildren().clear();
            this.getComboSeleccionarHormaFkModeloCalzado().getChildren().add(itemsHorma);  
            
       //carga los datos en los SelectOneMenu talla 
            String query="Select mp from Talla as mp where mp.tallaalto='Talla' order by mp.codtalla";
            List <Talla> listaTalla=this.getModelocalzadoBean().getTallaController().findTallaWhereOrderBy(query, true, -1,-1);        

            List<SelectItem> selectOneMenuListTalla = new ArrayList<SelectItem>();  
            selectOneMenuListTalla.add(new SelectItem("0","Seleccione..."));
            for(int i=0;i<listaTalla.size();i++)
            {
                String codTalla=listaTalla.get(i).getCodtalla();                
                selectOneMenuListTalla.add(new SelectItem(codTalla,codTalla));
                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
            }                   
            UISelectItems itemsTalla = new UISelectItems();  
            itemsTalla.setValue(selectOneMenuListTalla); 
            this.getComboSeleccionarTallaEstandarModeloCalzado().getChildren().clear();
            this.getComboSeleccionarTallaEstandarModeloCalzado().getChildren().add(itemsTalla);        
       
       this.resetComponentes("formDialogoIngresarModeloCalzado");
   }
   public void clickBotonAgregarModeloCalzadoIngresar()//boton agregar botonAgregarModeloCalzadoIngresar 
   {
       this.ingresoModificacion='i';
       System.out.println("@@@@@@@@@@@@@@@@@@ ehhhhhooooolaaaa");       
       this.mostrarDialogo("formDialogoSeleccionarMaterialesModeloCalzadoIngresar", "DialogoSeleccionarMaterialesModeloCalzadoIngresar", true);
       this.updateComponente("formDialogoSeleccionarMaterialesModeloCalzadoIngresar:", "DialogoSeleccionarMaterialesModeloCalzadoIngresar");
       
       this.initComponentes("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"); 
       
       //carga los datos en los SelectOneMenu Insumo 
            List <Insumo> listaInsumo=this.getModelocalzadoBean().getInsumoController().findInsumoOrderBy(true, -1,-1);        

            List<SelectItem> selectOneMenuListInsumo = new ArrayList<SelectItem>();  
            selectOneMenuListInsumo.add(new SelectItem("0","Seleccione..."));
            for(int i=0;i<listaInsumo.size();i++)
            {
                String codInsumo=listaInsumo.get(i).getCodinsumo();
                String nombreInsumo=listaInsumo.get(i).getNombreinsumo();
                selectOneMenuListInsumo.add(new SelectItem(JsfUtil.setValueYLabelSelectOneMenu(codInsumo, nombreInsumo),nombreInsumo));
                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
            }                   
            UISelectItems itemsInsumo = new UISelectItems();  
            itemsInsumo.setValue(selectOneMenuListInsumo); 
            this.getComboSeleccionarInsumoMateriaPrimaIngresar().getChildren().clear();
            this.getComboSeleccionarInsumoMateriaPrimaIngresar().getChildren().add(itemsInsumo);            
//            this.getTextDescripcionMaterialModeloCalzadoIngresar().setValue(this.cadenabytes);
       
       this.resetComponentes("formDialogoSeleccionarMaterialesModeloCalzadoIngresar");
   }
   public void cargarComboSeleccionarMaterial()
   {
       System.out.println("HHHHOoooola cargarCombo seleccionar material");
       this.initComponentes("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"); 
       
            
            this.unidadmedidaACargar="";
            this.getLabelUnidadMedidaSeleccionarMateriales().setValue(unidadmedidaACargar);
       
            List<SelectItem> selectOneMenuListVacio = new ArrayList<SelectItem>();  
            selectOneMenuListVacio.add(new SelectItem("0","Seleccione..."));
            UISelectItems itemsVacio = new UISelectItems();  
            itemsVacio.setValue(selectOneMenuListVacio); 
            this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().clear();
            this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().add(itemsVacio);

            //       this.setComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar((HtmlSelectOneMenu)event.getComponent());
       String codinsumo=(JsfUtil.getValueYLabelSelectOneMenu(this.getComboSeleccionarInsumoMateriaPrimaIngresar().getValue().toString()))[0];
       if(!codinsumo.equals("0"))
       {
           String query="Select mp from Materiaprima as mp where mp.insumoFk.codinsumo='"+codinsumo+"'";
           List <Materiaprima> mp=this.getModelocalzadoBean().getMateriaprimaController().findMateriaprimaWhereOrderBy(query, true, -1,-1);
           if(!mp.isEmpty())
           {                                 
               char tipo=mp.get(0).getTipo();
               if(tipo=='A')
               {
                    query="Select mp from Agregado as mp where mp.insumoFk.codinsumo='"+codinsumo+"' order by mp.nombremateriaprima";
                    List <Agregado> listaAgregado=this.getModelocalzadoBean().getAgregadoController().findAgregadoWhereOrderBy(query, true, -1,-1);                   
                    List<SelectItem> selectOneMenuListAgregado = new ArrayList<SelectItem>();  
                    selectOneMenuListAgregado.add(new SelectItem("0","Seleccione..."));
                    for(int i=0;i<listaAgregado.size();i++)
                    {
                        String codAgregado=listaAgregado.get(i).getCodmateriaprima();
                        String nombreAgregado=listaAgregado.get(i).getNombremateriaprima();
                        selectOneMenuListAgregado.add(new SelectItem(codAgregado+"|"+nombreAgregado,nombreAgregado));
                        //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
                    }                   
                    UISelectItems itemsAgregado = new UISelectItems();  
                    itemsAgregado.setValue(selectOneMenuListAgregado); 
                    this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().clear();
                    this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().add(itemsAgregado);
                    unidadmedidaACargar=listaAgregado.get(0).getUnidadmedidaFk().getAbreviatura();
               }
               else if(tipo=='C')
               {
                   query="Select mp from Cuero as mp where mp.insumoFk.codinsumo='"+codinsumo+"' order by mp.nombrecuero";
                    List <Cuero> listaCuero=this.getModelocalzadoBean().getCueroController().findCueroWhereOrderBy(query, true, -1,-1);

                    List<SelectItem> selectOneMenuListCuero = new ArrayList<SelectItem>();  
                    selectOneMenuListCuero.add(new SelectItem("0","Seleccione..."));
                    for(int i=0;i<listaCuero.size();i++)
                    {
                        String codCuero=listaCuero.get(i).getCodmateriaprima();
                        String nombreCuero=listaCuero.get(i).getNombrecuero();
                        selectOneMenuListCuero.add(new SelectItem(codCuero+"|"+nombreCuero,nombreCuero));
                        //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
                    }                   
                    UISelectItems itemsCuero = new UISelectItems();  
                    itemsCuero.setValue(selectOneMenuListCuero); 
                    this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().clear();
                    this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().add(itemsCuero);
                    unidadmedidaACargar=listaCuero.get(0).getUnidadmedidaFk().getAbreviatura();
               }
               else if(tipo=='F')
               {
                   query="Select mp from Forro as mp where mp.insumoFk.codinsumo='"+codinsumo+"' order by mp.tipoforro";
                    List <Forro> listaForro=this.getModelocalzadoBean().getForroController().findForroWhereOrderBy(query, true, -1,-1);

                    List<SelectItem> selectOneMenuListForro = new ArrayList<SelectItem>();  
                    selectOneMenuListForro.add(new SelectItem("0","Seleccione..."));
                    for(int i=0;i<listaForro.size();i++)
                    {
                        String codForro=listaForro.get(i).getCodmateriaprima();
                        String nombreForro=listaForro.get(i).getTipoforro();
                        selectOneMenuListForro.add(new SelectItem(codForro+"|"+nombreForro,nombreForro));
                        //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
                    }                   
                    UISelectItems itemsForro = new UISelectItems();  
                    itemsForro.setValue(selectOneMenuListForro); 
                    this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().clear();
                    this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().add(itemsForro);
                    unidadmedidaACargar=listaForro.get(0).getUnidadmedidaFk().getAbreviatura();
               }
               else if(tipo=='S'||tipo=='T')
               {
                   query="Select mp from Tacosuela as mp where mp.insumoFk.codinsumo='"+codinsumo+"' order by mp.nombretacosuela";
                    List <Tacosuela> listaTacosuela=this.getModelocalzadoBean().getTacosuelaController().findTacosuelaWhereOrderBy(query, true, -1,-1);

                    List<SelectItem> selectOneMenuListTacosuela = new ArrayList<SelectItem>();  
                    selectOneMenuListTacosuela.add(new SelectItem("0","Seleccione..."));
                    for(int i=0;i<listaTacosuela.size();i++)
                    {
                        String codTacosuela=listaTacosuela.get(i).getCodmateriaprima();
                        String nombreTacosuela=listaTacosuela.get(i).getNombretacosuela();
                        selectOneMenuListTacosuela.add(new SelectItem(codTacosuela+"|"+nombreTacosuela,nombreTacosuela));
                        //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
                    }                   
                    UISelectItems itemsTacosuela = new UISelectItems();  
                    itemsTacosuela.setValue(selectOneMenuListTacosuela); 
                    this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().clear();
                    this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().add(itemsTacosuela);
                    unidadmedidaACargar=listaTacosuela.get(0).getUnidadmedidaFk().getAbreviatura();                    
               }
           }
           else
           {
               unidadmedidaACargar=" ";
           }
       }
//       HtmlSelectOneMenu hm=this.getComboSeleccionarInsumoMateriaPrimaIngresar();
//       if(hm.getChildren().size()>1)
//       {
//           System.out.println(",,hm.getChildren().size() = "+ hm.getChildren().size());
//           for(int i=hm.getChildren().size()-1;0<i;i=i-1)
//           {
//               System.out.println(",,componente = "+ hm.getChildren().get(i));
//               this.getComboSeleccionarInsumoMateriaPrimaIngresar().getChildren().remove(i);
//           }
//       }
       JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarInsumoMateriaPrimaIngresar());
//       System.out.println(",,,,,,,,,,,,,,,,,HtmlSelectOneMenu ComboSeleccionarInsumoMateriaPrimaIngresar"+hm.getChildren().size());
       this.updateComponente("formDialogoSeleccionarMaterialesModeloCalzadoIngresar:", "DialogoSeleccionarMaterialesModeloCalzadoIngresar");              
   }
   private String unidadmedidaACargar;
   public void cargarlabelUnidadMedidaSeleccionarMateriales()
   {
       System.out.println("HHHHOoooola cargarlabelUnidadMedidaSeleccionarMateriales");
       this.initComponentes("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"); 
       if(unidadmedidaACargar==null)
           unidadmedidaACargar="";
       this.getLabelUnidadMedidaSeleccionarMateriales().setValue(unidadmedidaACargar);
       JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarInsumoMateriaPrimaIngresar());
//       HtmlSelectOneMenu hm=this.getComboSeleccionarInsumoMateriaPrimaIngresar();
//       if(hm.getChildren().size()>1)
//       {
//           System.out.println(",,hm.getChildren().size() = "+ hm.getChildren().size());
//           for(int i=hm.getChildren().size()-1;0<i;i=i-1)
//           {
//               System.out.println(",,componente = "+ hm.getChildren().get(i));
//               this.getComboSeleccionarInsumoMateriaPrimaIngresar().getChildren().remove(i);
//           }
//       }
       JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar());
//       HtmlSelectOneMenu hm1=this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar();
//       if(hm1.getChildren().size()>1)
//       {
//           System.out.println(",,hm1.getChildren().size() = "+ hm1.getChildren().size());
//           for(int i=hm1.getChildren().size()-1;0<i;i=i-1)
//           {
//               System.out.println(",,componente getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar = "+ hm1.getChildren().get(i));
//               this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getChildren().remove(i);
//           }
//       }
       
       this.updateComponente("formDialogoSeleccionarMaterialesModeloCalzadoIngresar:", "DialogoSeleccionarMaterialesModeloCalzadoIngresar");
//       this.updateComponente("", "labelUnidadMedidaSeleccionarMateriales");
   }
   public void clicBotonAgregarMaterial(String form) //boton que se encuentra en el dialogo se seleccion de materias primas
   {
        System.out.println("/////////////////////////////////////////problemA");
       this.initComponentes(form);
       List<Object>listaComponentes=new ArrayList<Object>();
        listaComponentes.add( this.getComboSeleccionarInsumoMateriaPrimaIngresar());
        listaComponentes.add( this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar());
        listaComponentes.add( this.getTextCantidadMateriaPrimaModeloCalzadoIngresar()); 
        listaComponentes.add( this.getLabelUnidadMedidaSeleccionarMateriales()); 
        listaComponentes.add( this.getTextDescripcionMaterialModeloCalzadoIngresar());
        listaComponentes.add( this.getTextFechaVigencia());
        listaComponentes.add( this.getSelectEsObligatorioMaterialModeloCalzadoIngresar());        
        
        System.out.println("List<String>listaComponentesEstilos----- +listaComponentesEstilos.get(0) ..... "+form);
        if(!this.esCamposVacios(listaComponentes,form))
        {
            String [] insumo=JsfUtil.getValueYLabelSelectOneMenu(this.getComboSeleccionarInsumoMateriaPrimaIngresar().getValue().toString());
            String nombreinsumo=insumo[1];
            String [] materiaprima=JsfUtil.getValueYLabelSelectOneMenu(this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getValue().toString());
            String nombremateriaprima=materiaprima[1];
            double cantidad=Double.parseDouble(this.getTextCantidadMateriaPrimaModeloCalzadoIngresar().getValue().toString());
            String nombreunidadmedida=this.getLabelUnidadMedidaSeleccionarMateriales().getValue().toString();            
            String fechavigencia=JsfUtil.convertirFecha((Date)this.getTextFechaVigencia().getValue());
            String esobligatorio=this.getSelectEsObligatorioMaterialModeloCalzadoIngresar().getValue().toString();
                if(Boolean.parseBoolean(esobligatorio))
                {   esobligatorio="Item Obligatorio";}
                else
                {esobligatorio="Item Opcional";}
             String descripcion=  this.getTextDescripcionMaterialModeloCalzadoIngresar().getValue().toString();     
            
             String insumo_fk=insumo[0]; 
             String materiaprima_fk=materiaprima[0];             
             String modelocalzado_fk="";
            boolean esnuevafila=this.agregarFila(nombreinsumo, nombremateriaprima,cantidad, nombreunidadmedida, fechavigencia, esobligatorio, descripcion,insumo_fk, materiaprima_fk, modelocalzado_fk);
            if(esnuevafila)
            {
                JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarInsumoMateriaPrimaIngresar());
//                   HtmlSelectOneMenu hm=this.getComboSeleccionarInsumoMateriaPrimaIngresar();
//                        if(hm.getChildren().size()>1)
//                        {
//                            System.out.println(",,hm.getChildren().size() = "+ hm.getChildren().size());
//                            for(int i=hm.getChildren().size()-1;0<i;i=i-1)
//                            {
//                                System.out.println(",,componente = "+ hm.getChildren().get(i));
//                                this.getComboSeleccionarInsumoMateriaPrimaIngresar().getChildren().remove(i);
//                            }
//                        }
                if(this.ingresoModificacion=='i')                    
                    this.updateComponente("formDialogoIngresarModeloCalzado", ":tablaEstructuraMaterialesIngresar");
                else if(this.ingresoModificacion=='m')  
                    this.updateComponente("formDialogoModificarModeloCalzado", ":tablaEstructuraMaterialesModificar");
                this.resetComponentes(form);
                System.out.println("this.getListaTablaEstructuraMateriales().get(0).toString()  =  "+this.getListaTablaEstructuraMateriales().get(0).toString());    
            }
            else
            {
                this.mostrarMensajeJS("Error: No se pudo asociar Materia Prima al Modelo de Calzado!", form,"DialogoSeleccionarMaterialesModeloCalzadoIngresar", true);
            }    
            
            System.out.println("No estan vacios  esnuevafila"+esnuevafila);            
        }
        else
        {
            System.out.println("Error: Datos mal llenados o no están ingresados!");
            this.mostrarMensajeJS("Error: Datos mal llenados o no están ingresados!", form,"DialogoSeleccionarMaterialesModeloCalzadoIngresar", true);
            //this.resetComponentes(form);
        }
   }
   public void clicBotonQuitarModeloCalzadoIngresar()
   {
        boolean eseliminadafila=this.eliminarFila(this.itemTablaEstructuraMaterialesSeleccionado);
        if(eseliminadafila)
        {
            this.updateComponente("formDialogoIngresarModeloCalzado", ":tablaEstructuraMaterialesIngresar");
            JsfUtil.mostrarMensajeJS("Fila eliminada");
        }
        else
        {
            JsfUtil.mostrarMensajeJS("No se pudo eliminar fila seleccionada");
        }
   }
   public void clicBotonGuardar(String form) ///boton guardar 
   {
       if(this.getLogin().verificarLogin())
       {
            this.initComponentes(form);
        //       this.resetComponentes(form);
            List<Object>listaComponentes=new ArrayList<Object>();
            listaComponentes.add( this.getTextCodModeloCalzadoIngresar());
            listaComponentes.add( this.getComboSeleccionarLineaProduccionFkModeloCalzado());
            listaComponentes.add( this.getComboSeleccionarHormaFkModeloCalzado()); 
            listaComponentes.add( this.getTextCodigoCalzadoIngresar());
            listaComponentes.add( this.getTextNombreModeloCalzadoIngresar());
            listaComponentes.add( this.getComboSeleccionarTallaEstandarModeloCalzado());
            listaComponentes.add( this.getTextPrecioUnitarioModeloCalzadoIngresar());
            listaComponentes.add( this.getTextObservacionesModeloCalzadoIngresar() );
            listaComponentes.add( this.getSelectEstadoModeloCalzadoIngresar());
            listaComponentes.add(this.getBotonAgregarModeloCalzadoIngresar() );
            listaComponentes.add(this.getBotonQuitarModeloCalzadoIngresar() );
            listaComponentes.add(this.getBotonImagenFrontalModeloCalzadoIngresar() );
    //        listaComponentes.add(this.getBotonVerImagenFrontalModeloCalzadoIngresar() );
            listaComponentes.add( this.getBotonImagenPosteriorModeloCalzadoIngresar());
    //        listaComponentes.add( this.getBotonVerImagenPosteriorModeloCalzadoIngresar());
            listaComponentes.add( this.getTablaEstructuraMaterialesIngresar());
            listaComponentes.add( this.getScrollPanelTabla());

            System.out.println("List<String>listaComponentesEstilos----- +listaComponentesEstilos.get(0) ..... "+form+"  valor "+this.getComboSeleccionarLineaProduccionFkModeloCalzado().getValue()+" --------CCCCC this.getSelectActivoMateriaPrimaAgregadoIngresar().getValue() = ");
            if(!this.esCamposVacios(listaComponentes,form))
            { 
                String [] lineaproduccion=JsfUtil.getValueYLabelSelectOneMenu(this.getComboSeleccionarLineaProduccionFkModeloCalzado().getValue().toString());
                String [] horma= JsfUtil.getValueYLabelSelectOneMenu(this.getComboSeleccionarHormaFkModeloCalzado().getValue().toString());
                Modelocalzado mc=new Modelocalzado();
                mc.setLineaproduccionFk(this.getModelocalzadoBean().getLineaproduccionController().findLineaproduccion(lineaproduccion[0]));
                mc.setHormaFk(this.getModelocalzadoBean().getHormaController().findHorma(horma[0]));
                mc.setCodigocalzado(this.getTextCodigoCalzadoIngresar().getValue().toString().trim().toUpperCase());
                mc.setNombremodelo(this.getTextNombreModeloCalzadoIngresar().getValue().toString().trim().toUpperCase());
                mc.setTallaestandar(this.getComboSeleccionarTallaEstandarModeloCalzado().getValue().toString().trim());
                mc.setPreciounitario(Double.parseDouble(this.getTextPrecioUnitarioModeloCalzadoIngresar().getValue().toString().trim()));
                mc.setEstado(Boolean.parseBoolean(this.getSelectEstadoModeloCalzadoIngresar().getValue().toString()));
                if(this.bytesImagenFrontalModeloCalzado==null) 
                {
                    System.out.println("999999999  bytesImagenFrontalModeloCalzado es null");
                    mc.setImagenfrontal(JsfUtil.getImagenNoDisponible());
                }
                else
                {
                    mc.setImagenfrontal(this.bytesImagenFrontalModeloCalzado);
                }
                if(this.bytesImagenPosteriorModeloCalzado==null) 
                {
                    System.out.println("999999999  bytesImagenPosteriorModeloCalzado es null");
                    mc.setImagenposterior(JsfUtil.getImagenNoDisponible());
                }
                else
                {
                    mc.setImagenposterior(this.bytesImagenPosteriorModeloCalzado);
                }
                mc.setObservaciones(this.getTextObservacionesModeloCalzadoIngresar().getValue().toString().trim().toUpperCase());
                mc.setDigitador(Integer.parseInt(this.getUsuarioBean().getUsuario().getCodUsuario()));
                mc.setFechadigitador(new Date());
                    List <Estructuramaterialesbom> listaestructuramateriales=new ArrayList<Estructuramaterialesbom>();
                    
                    for(int i=0;i<this.getListaTablaEstructuraMateriales().size();i++)
                    {
                        ModeloCalzadoBean.tablaEstructuraMateriales tem=this.getListaTablaEstructuraMateriales().get(i);
                        Estructuramaterialesbom bom=new Estructuramaterialesbom();
                        bom.setCantidadporpar(tem.getCantidad());
                        bom.setDescripcion(tem.getDescripcion().trim().toUpperCase());
                        bom.setDigitador(mc.getDigitador());
                        bom.setFechadigitador(mc.getFechadigitador());
                        bom.setFechavigencia(JsfUtil.convertirAFecha(tem.getFechaVigencia()));
                        bom.setMateriaprimaFk(this.getModelocalzadoBean().getMateriaprimaController().findMateriaprima(tem.getMateriaPrima_fk()));
                        boolean obligatorio=false;
                        if(tem.getEsObligatorio().equals("Item Obligatorio"))
                            obligatorio=true;
                        bom.setObligatorio(obligatorio);
                        listaestructuramateriales.add(bom);
                    }
                 mc.setEstructuramaterialesbomList(listaestructuramateriales);  
                 this.getModelocalzadoBean().setModelocalzado(mc);
                 List listaRespuestaIngreso=this.getModelocalzadoBean().crearModeloCalzado();
                 if((Boolean)listaRespuestaIngreso.get(0))    
                        {
                            this.resetComponentes("formDialogoIngresarModeloCalzado");
                            this.mostrarDialogo("formDialogoIngresarModeloCalzado", "DialogoIngresarModeloCalzado", false);
                            
                            JsfUtil.mostrarMensajeJS(listaRespuestaIngreso.get(1).toString());
//                            List <List> datos=this.getMateriaprimaBean().consultarMateriaPrima(this.consultaActual, this.criterioConsultaActual,this.coincidenciaActual,"Suela", this.maxResultados,this.primerResultado,this.todo);                    
        //                    List <List> datos=this.getMateriaprima().consultarMateriaPrima(this.consultaActual, this.criterioConsultaActual,this.coincidenciaActual,"Suela");                    
//                            this.setTablaSuela(datos.get(3));
//                            this.updateComponente("tabMateriaPrima", "");
//                            org.primefaces.component.tabview.TabView tab=(org.primefaces.component.tabview.TabView)FacesContext.getCurrentInstance().getViewRoot().findComponent("tabMateriaPrima");
//                            tab.setActiveIndex(3);
                            //this.buscarMateriaPrima
                        }
                System.out.println("No estan vacios");
            }
            else
            {
                System.out.println("estan vacioslos campos");
                this.mostrarMensajeJS("estan vacioslos campos", form,"DialogoIngresarModeloCalzado", true);
                JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarHormaFkModeloCalzado());
                JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarLineaProduccionFkModeloCalzado());
                JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarTallaEstandarModeloCalzado());
            }
       }
    }
   //_______________________________________________________________________________________________               
  //*********************Metodos para consulta materia prima ***********************
   private String consultaActual="", criterioConsultaActual="",coincidenciaActual="";
   private int  maxResultados=-1,primerResultado=-1;
   private boolean todo=true;
   
   public void eventoFilaSeleccionadaTablaConsultarModelocalzado() 
   {//metodo carga los datos del ultimo horma seleccionado en el caso que se deseen actualizar
       Modelocalzado mc= this.getModelocalzadoSeleccionado();     
       this.setModelocalzadoSeleccionado(mc);       
       System.out.println("eventoFilaSeleccionadaTablaConsultarModelocalzado "+mc.getCodestructuramateria());
   }
   
   public void clicBotonBuscarModelocalzado(String form)
   {
       if(this.getLogin().verificarLogin())
       {
           this.initComponentes(form);
           List<Object>listaComponentes=new ArrayList<Object>();           
           listaComponentes.add( this.getTextBuscarModelocalzado());
           listaComponentes.add( this.getComboBuscarModelocalzado());
           listaComponentes.add( this.getComboCoincidenciaBusquedaModelocalzado());
           if(!this.esCamposVacios(listaComponentes,form))
           {
               String consultar=this.getTextBuscarModelocalzado().getValue().toString().trim().toUpperCase();
               String criterioConsulta=this.getComboBuscarModelocalzado().getValue().toString();
               String coincidencia=this.getComboCoincidenciaBusquedaModelocalzado().getValue().toString();               
               List<Modelocalzado> mc=this.getModelocalzadoBean().consultarModelocalzado(consultar, criterioConsulta,coincidencia,true,-1,-1); 
               this.setTablaDatosModelocalzado(mc);
                
              
                this.consultaActual=consultar;
                this.criterioConsultaActual=criterioConsulta;
                this.coincidenciaActual=coincidencia;
//                this.updateComponente("tabMateriaPrima", "");  
//                this.updateComponente("formTablaConsultarModeloCalzado", ":tablaConsultarModeloCalzado");
                JsfUtil.updateComponente("tabviewModeloCalzado","");
           }
           else
           {
            //           this.getHorma().mostrarMensaje("error", "Error: Datos requeridos deben ser llenados", "");
                JsfUtil.mostrarMensaje("error", "Error: campo mal ingresado o vacio","");
           }
           
       }
   }
   public void clicBotonMostrarDatosModeloCalzado(String form)//muestra la ficha tecnica del calzado
   {
       this.initComponentes(form);
       Modelocalzado mc=this.getModelocalzadoSeleccionado();
       this.getTextCodModeloCalzadoIngresar().setValue(mc.getCodestructuramateria());
       this.getTextLineaProduccionFkModeloCalzadoConsultar().setValue(mc.getLineaproduccionFk().getNombrelineaproduccion());
       this.getTextHormaFkModeloCalzadoConsultar().setValue(mc.getHormaFk().getNombrehorma());
       this.getTextCodigoCalzadoIngresar().setValue(mc.getCodigocalzado());
       this.getTextNombreModeloCalzadoIngresar().setValue(mc.getNombremodelo());
       this.getTextTallaEstandarModeloCalzadoConsultar().setValue(mc.getTallaestandar());
       this.getTextPrecioUnitarioModeloCalzadoIngresar().setValue(mc.getPreciounitario());
       this.getTextObservacionesModeloCalzadoIngresar().setValue(mc.getObservaciones());
       if(mc.getEstado())
        this.getTextEstadoModeloCalzadoConsultar().setValue("Activo");
       else
           this.getTextEstadoModeloCalzadoConsultar().setValue("Inactivo");
//       List<Estructuramaterialesbom> listacount= this.getModelocalzadoBean().getEstructuramaterialesController().findEstructuramaterialesbomWhereOrderBy("select mc from Estructuramaterialesbom as mc where mc.modelocalzadoFk.codestructuramateria= "+mc.getCodestructuramateria(), true, -1, -1);                    
       this.getTextTotalInsumosConsultar().setValue(this.getModelocalzadoBean().getEstructuramaterialesController().getEstructuramaterialesbomCountWhere(mc.getCodestructuramateria()));
       List<Estructuramaterialesbom> listaEstructuramaterialesbom=this.getModelocalzadoBean().getEstructuramaterialesController().findEstructuramaterialesbomWhereOrderBy("select mc from Estructuramaterialesbom as mc where mc.modelocalzadoFk.codestructuramateria= '"+mc.getCodestructuramateria()+"' order by mc.codbom", true,-1,-1);
       
       listaTablaEstructuraMateriales=new  ArrayList<ModeloCalzadoBean.tablaEstructuraMateriales>();
       
       for(int i=0;i<listaEstructuramaterialesbom.size();i++)
       {
           Estructuramaterialesbom em=listaEstructuramaterialesbom.get(i);
           String nombreMateriaPrima="";
           if(em.getMateriaprimaFk().getTipo()=='A')
               nombreMateriaPrima=(this.getModelocalzadoBean().getAgregadoController().findAgregado(em.getMateriaprimaFk().getCodmateriaprima())).getNombremateriaprima();
           else if(em.getMateriaprimaFk().getTipo()=='C')
               nombreMateriaPrima=(this.getModelocalzadoBean().getCueroController().findCuero(em.getMateriaprimaFk().getCodmateriaprima())).getNombrecuero();
           else if(em.getMateriaprimaFk().getTipo()=='F')
               nombreMateriaPrima=(this.getModelocalzadoBean().getForroController().findForro(em.getMateriaprimaFk().getCodmateriaprima())).getTipoforro();
           if(em.getMateriaprimaFk().getTipo()=='T'||em.getMateriaprimaFk().getTipo()=='S')
               nombreMateriaPrima=(this.getModelocalzadoBean().getTacosuelaController().findTacosuela(em.getMateriaprimaFk().getCodmateriaprima())).getNombretacosuela();
           String esObligatorio="Item Opcional";
           if(em.getObligatorio())
               esObligatorio="Item Obligatorio";
           ModeloCalzadoBean.tablaEstructuraMateriales tem=new ModeloCalzadoBean.tablaEstructuraMateriales(em.getMateriaprimaFk().getInsumoFk().getNombreinsumo(),
                                                                                                           nombreMateriaPrima, 
                                                                                                           em.getCantidadporpar(), 
                                                                                                           em.getMateriaprimaFk().getUnidadmedidaFk().getAbreviatura(),
                                                                                                           JsfUtil.convertirFecha(em.getFechavigencia()), 
                                                                                                           esObligatorio, 
                                                                                                           em.getDescripcion(), 
                                                                                                           em.getMateriaprimaFk().getInsumoFk().getCodinsumo(), 
                                                                                                           em.getMateriaprimaFk().getCodmateriaprima(),
                                                                                                           em.getModelocalzadoFk().getCodestructuramateria(),
                                                                                                           em.getCodbom(),
                                                                                                           em.getMateriaprimaFk().getUnidadmedidaFk().getNombreunimedida());
           this.getListaTablaEstructuraMateriales().add(tem);
       }
       
//"botonDetallesMaterialModeloCalzadoConsultar",
//"botonImagenFrontalModeloCalzadoConsultar",
//"botonImagenPosteriorModeloCalzadoConsultar",                                                             
       
   }
   public void clicBotonDetallesMaterialModeloCalzadoConsultar()
   {
       List <String> datos=new ArrayList<String>();
       datos.add("              Insumo:"+this.getItemTablaEstructuraMaterialesSeleccionado().getNombreInsumo());
       datos.add("            Material:"+this.getItemTablaEstructuraMaterialesSeleccionado().getNombreMateriaPrima());
       datos.add("            Cantidad:"+this.getItemTablaEstructuraMaterialesSeleccionado().getCantidad());
       datos.add("    Unidad de Medida:"+this.getItemTablaEstructuraMaterialesSeleccionado().getUnidadmedida()+" ("+this.getItemTablaEstructuraMaterialesSeleccionado().getNombreUnidadMedida()+")");
       datos.add("         Descripción:"+this.getItemTablaEstructuraMaterialesSeleccionado().getDescripcion());
       datos.add("      Fecha Vigencia:"+this.getItemTablaEstructuraMaterialesSeleccionado().getFechaVigencia());
       datos.add("      Es Obligatorio:"+this.getItemTablaEstructuraMaterialesSeleccionado().getEsObligatorio());
       
       this.setDatosModelocalzadoSeleccionado(datos);
   }
   public void clicBotonImagenModeloCalzado(String frontalOPosterior)
   {
       if(frontalOPosterior.equals("Frontal"))
           this.setDmcImagen(JsfUtil.convertirByteEnImagen(this.getModelocalzadoSeleccionado().getImagenfrontal()));
       else
           this.setDmcImagen(JsfUtil.convertirByteEnImagen(this.getModelocalzadoSeleccionado().getImagenposterior()));
   }
   
   //**************************************
//   DefaultStreamedContent dmcImagen;
//s
//    public DefaultStreamedContent getDmcImagen() {
//        return dmcImagen;
//    }
//
//    public void setDmcImagen(DefaultStreamedContent dmcImagen) {
//        this.dmcImagen = dmcImagen;
//    }
   
//   public void imagen()
//   {
//       InputStream is=new ByteArrayInputStream(this.getModelocalzadoSeleccionado().getImagenfrontal());
//       this.dmcImagen=new DefaultStreamedContent(is,"image/jpg");
//       System.out.println("toy en metodo imagen-.................................");
//   }
   
   
   //**************************************
    //_______________________________________________________________________________________________  
//   String cadenabytes="";
   public void uploadImagenFrontalModeloCalzado(FileUploadEvent event)
   {
       String str="";
       String nombreArchivo=event.getFile().getFileName();
       try {
        byte[] b=event.getFile().getContents();
        this.bytesImagenFrontalModeloCalzado=b;
//         cadenabytes="{";
//        System.out.println("inicia cadena de bytes");            
//            for(int i=0; i<b.length-1;i++)
//            {
//                cadenabytes+=b[i]+",";
//                System.out.print(b[i]);
//            }
//            cadenabytes+=b[b.length-1]+"}";
//            System.out.print(b[b.length-1]);
//           System.out.println("finaliza cadena de bytes");
//           System.out.println("String cadenabytes: ");
//           System.out.println(cadenabytes);
//           System.out.println("cadena de bytes"+b.toString());
        //cargar la imagen en la clase modeloCalzado en el atributo imagenFrontal
        str="Archivo \""+nombreArchivo+"\" fue subido al servidor con éxito!";
       } catch (Exception e) {
            e.printStackTrace();
            str="Error al subir Archivo \""+nombreArchivo+"\" al servidor! "+ e.getMessage();
       }
       System.out.println("$$$$$$$$$$$$$$ Imagen frontal Ojo realpath = "+nombreArchivo);
       this.mostrarMensajeJS(str, "formDialogoSeleccionarImagenModeloCalzado", "DialogoSeleccionarImagenFrontalModeloCalzado", false);
   }
   public void uploadImagenPosteriorModeloCalzado(FileUploadEvent event)
   {
       String str="";
       String nombreArchivo=event.getFile().getFileName();
       try {
        byte[] b=event.getFile().getContents();
        this.bytesImagenPosteriorModeloCalzado=b;
        //cargar la imagen en la clase modeloCalzado en el atributo imagen posterior
        str="Archivo \""+nombreArchivo+"\" fue subido al servidor con éxito!";
       } catch (Exception e) {
            e.printStackTrace();
            str="Error al subir Archivo \""+nombreArchivo+"\" al servidor! "+ e.getMessage();
       }
       System.out.println("$$$$$$$$$$$$$$ Imagen posterior Ojo realpath = "+nombreArchivo);
       this.mostrarMensajeJS(str, "formDialogoSeleccionarImagenModeloCalzado", "DialogoSeleccionarImagenPosteriorModeloCalzado", false);
   }
   
   
   
   
   ////////////////////////////////////////////////////////////////////////////////
   public String upload(FileUploadEvent event) {

       String str="";
       String nombreArchivo=event.getFile().getFileName();
        try {            
          
           byte[] b=event.getFile().getContents();
           str=this.almacenaImagenServidor(b, nombreArchivo);
//           System.out.println("inicia cadena de bytes"); 
//           for(int i=0; i<b.length;i++)
//            {
//                System.out.print(b[i]);
//            }
//           System.out.println("finaliza cadena de bytes");
           System.out.println("Los datos de metodo upload "+nombreArchivo+"  ");          
        } 
        catch (IOException e) {
            e.printStackTrace();
            str="Error al subir Archivo \""+nombreArchivo+"\" al servidor! " + e.getMessage();
        }
        return str;
    }
   public String almacenaImagenServidor(byte[] b,String nombreArchivo) throws IOException
   {
       String str="";
       String realpath=FacesContext.getCurrentInstance().getExternalContext().getRealPath("//upload");
       System.out.println("$$$$$$$$$$$$$$ Ojo realpath = "+nombreArchivo);
       try {
            FileOutputStream fileOutputStream = new FileOutputStream(realpath+"/"+nombreArchivo);
            fileOutputStream.write(b);
            fileOutputStream.flush();
            fileOutputStream.close();
            str="Archivo \""+nombreArchivo+"\" fue subido al servidor con éxito!";
        } catch (IOException e) {
            e.printStackTrace();
            str="Error al subir Archivo \""+nombreArchivo+"\" al servidor! "+ e.getMessage();
        }
       return str;
   }
   ////////////////////////////////////////////////////////////////////////////////
   
   //_______________________________________________________________________________________________               
//*********************Metodos para modificar datos modelo calzado ***********************
   
    public void clicBotonModificarModeloCalzado() //boton del toolbar
    {
        this.initComponentes("formDialogoModificarModeloCalzado");  
       
       //carga los datos en los SelectOneMenu Lineaproduccion 
            List <Lineaproduccion> listaLineaproduccion=this.getModelocalzadoBean().getLineaproduccionController().findLineaproduccionEntities();        

            List<SelectItem> selectOneMenuListLineaproduccion = new ArrayList<SelectItem>();  
            selectOneMenuListLineaproduccion.add(new SelectItem("0","Seleccione..."));
            for(int i=0;i<listaLineaproduccion.size();i++)
            {
                String codLineaproduccion=listaLineaproduccion.get(i).getNumerolineaproduccion();
                String nombreLineaproduccion=listaLineaproduccion.get(i).getNombrelineaproduccion();
                selectOneMenuListLineaproduccion.add(new SelectItem(codLineaproduccion+"|"+nombreLineaproduccion,nombreLineaproduccion));
                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
            }                   
            UISelectItems itemsLineaproduccion = new UISelectItems();  
            itemsLineaproduccion.setValue(selectOneMenuListLineaproduccion); 
            this.getComboSeleccionarLineaProduccionFkModeloCalzado().getChildren().clear();
            this.getComboSeleccionarLineaProduccionFkModeloCalzado().getChildren().add(itemsLineaproduccion);
            
       //carga los datos en los SelectOneMenu Horma 
            List <Horma> listaHorma=this.getModelocalzadoBean().getHormaController().findHormaEntities();        

            List<SelectItem> selectOneMenuListHorma = new ArrayList<SelectItem>();  
            selectOneMenuListHorma.add(new SelectItem("0","Seleccione..."));
            for(int i=0;i<listaHorma.size();i++)
            {
                String codHorma=listaHorma.get(i).getCodhorma();
                String nombreHorma=listaHorma.get(i).getNombrehorma();
                selectOneMenuListHorma.add(new SelectItem(codHorma+"|"+nombreHorma,nombreHorma));
                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
            }                   
            UISelectItems itemsHorma = new UISelectItems();  
            itemsHorma.setValue(selectOneMenuListHorma); 
            this.getComboSeleccionarHormaFkModeloCalzado().getChildren().clear();
            this.getComboSeleccionarHormaFkModeloCalzado().getChildren().add(itemsHorma);  
            
       //carga los datos en los SelectOneMenu talla 
            String query="Select mp from Talla as mp where mp.tallaalto='Talla' order by mp.codtalla";
            List <Talla> listaTalla=this.getModelocalzadoBean().getTallaController().findTallaWhereOrderBy(query, true, -1,-1);        

            List<SelectItem> selectOneMenuListTalla = new ArrayList<SelectItem>();  
            selectOneMenuListTalla.add(new SelectItem("0","Seleccione..."));
            for(int i=0;i<listaTalla.size();i++)
            {
                String codTalla=listaTalla.get(i).getCodtalla();                
                selectOneMenuListTalla.add(new SelectItem(codTalla,codTalla));
                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
            }                   
            UISelectItems itemsTalla = new UISelectItems();  
            itemsTalla.setValue(selectOneMenuListTalla); 
            this.getComboSeleccionarTallaEstandarModeloCalzado().getChildren().clear();
            this.getComboSeleccionarTallaEstandarModeloCalzado().getChildren().add(itemsTalla);        
       
            //cargar datos en la ventana
            Modelocalzado mc=this.getModelocalzadoSeleccionado();
            this.bytesImagenFrontalModeloCalzado=mc.getImagenfrontal();
            this.bytesImagenPosteriorModeloCalzado=mc.getImagenposterior();
            this.getTextCodModeloCalzadoIngresar().setValue(mc.getCodestructuramateria());
            this.getComboSeleccionarLineaProduccionFkModeloCalzado().setValue(JsfUtil.setValueYLabelSelectOneMenu(mc.getLineaproduccionFk().getNumerolineaproduccion(), mc.getLineaproduccionFk().getNombrelineaproduccion()));
            this.getComboSeleccionarHormaFkModeloCalzado().setValue(JsfUtil.setValueYLabelSelectOneMenu(mc.getHormaFk().getCodhorma(), mc.getHormaFk().getNombrehorma()));
            this.getTextCodigoCalzadoIngresar().setValue(mc.getCodigocalzado());
            this.getTextNombreModeloCalzadoIngresar().setValue(mc.getNombremodelo());
            this.getComboSeleccionarTallaEstandarModeloCalzado().setValue(mc.getTallaestandar().trim());
            this.getTextPrecioUnitarioModeloCalzadoIngresar().setValue(mc.getPreciounitario());
            this.getTextObservacionesModeloCalzadoIngresar().setValue(mc.getObservaciones());
            this.getSelectEstadoModeloCalzadoIngresar().setSelected(mc.getEstado());
          
            List<Estructuramaterialesbom> listaEstructuramaterialesbom=this.getModelocalzadoBean().getEstructuramaterialesController().findEstructuramaterialesbomWhereOrderBy("select mc from Estructuramaterialesbom as mc where mc.modelocalzadoFk.codestructuramateria= '"+mc.getCodestructuramateria()+"' order by mc.codbom", true,-1,-1);
       
            listaTablaEstructuraMateriales=new  ArrayList<ModeloCalzadoBean.tablaEstructuraMateriales>();

            for(int i=0;i<listaEstructuramaterialesbom.size();i++)
            {
                Estructuramaterialesbom em=listaEstructuramaterialesbom.get(i);
                String nombreMateriaPrima="";
                if(em.getMateriaprimaFk().getTipo()=='A')
                    nombreMateriaPrima=(this.getModelocalzadoBean().getAgregadoController().findAgregado(em.getMateriaprimaFk().getCodmateriaprima())).getNombremateriaprima();
                else if(em.getMateriaprimaFk().getTipo()=='C')
                    nombreMateriaPrima=(this.getModelocalzadoBean().getCueroController().findCuero(em.getMateriaprimaFk().getCodmateriaprima())).getNombrecuero();
                else if(em.getMateriaprimaFk().getTipo()=='F')
                    nombreMateriaPrima=(this.getModelocalzadoBean().getForroController().findForro(em.getMateriaprimaFk().getCodmateriaprima())).getTipoforro();
                if(em.getMateriaprimaFk().getTipo()=='T'||em.getMateriaprimaFk().getTipo()=='S')
                    nombreMateriaPrima=(this.getModelocalzadoBean().getTacosuelaController().findTacosuela(em.getMateriaprimaFk().getCodmateriaprima())).getNombretacosuela();
                String esObligatorio="Item Opcional";
                if(em.getObligatorio())
                    esObligatorio="Item Obligatorio";
                ModeloCalzadoBean.tablaEstructuraMateriales tem=new ModeloCalzadoBean.tablaEstructuraMateriales(em.getMateriaprimaFk().getInsumoFk().getNombreinsumo(),
                                                                                                                nombreMateriaPrima, 
                                                                                                                em.getCantidadporpar(), 
                                                                                                                em.getMateriaprimaFk().getUnidadmedidaFk().getAbreviatura(),
                                                                                                                JsfUtil.convertirFecha(em.getFechavigencia()), 
                                                                                                                esObligatorio, 
                                                                                                                em.getDescripcion(), 
                                                                                                                em.getMateriaprimaFk().getInsumoFk().getCodinsumo(), 
                                                                                                                em.getMateriaprimaFk().getCodmateriaprima(),
                                                                                                                em.getModelocalzadoFk().getCodestructuramateria(),
                                                                                                                em.getCodbom(),
                                                                                                                em.getMateriaprimaFk().getUnidadmedidaFk().getNombreunimedida());
                this.getListaTablaEstructuraMateriales().add(tem);
            }
         
            JsfUtil.mostrarDialogo("formDialogoModificarModeloCalzado", "DialogoModificarModeloCalzado", true);
         
         JsfUtil.updateComponente("formDialogoModificarModeloCalzado", ":DialogoModificarModeloCalzado"); 
    }
   public void clicBotonImagenModeloCalzadoModificar(String frontalOPosterior)
   {
       if(frontalOPosterior.equals("Frontal"))
           this.setDmcImagen(JsfUtil.convertirByteEnImagen(this.bytesImagenFrontalModeloCalzado));
       else
           this.setDmcImagen(JsfUtil.convertirByteEnImagen(this.bytesImagenPosteriorModeloCalzado));
   }
   public void clicBotonQuitarModeloCalzadoModificar()
   {
        boolean eseliminadafila=this.eliminarFila(this.itemTablaEstructuraMaterialesSeleccionado);
        if(eseliminadafila)
        {
            this.updateComponente("formDialogoModificarModeloCalzado", ":tablaEstructuraMaterialesModificar");
            JsfUtil.mostrarMensajeJS("Fila eliminada");
        }
        else
        {
            JsfUtil.mostrarMensajeJS("No se pudo eliminar fila seleccionada");
        }
   }
   public void clicBotonAgregarModeloCalzadoModificar()
   {
       this.ingresoModificacion='m';
       System.out.println("@@@@@@@@@@@@@@@@@@ ehhhhhooooolaaaa");       
       this.mostrarDialogo("formDialogoSeleccionarMaterialesModeloCalzadoIngresar", "DialogoSeleccionarMaterialesModeloCalzadoIngresar", true);
       this.updateComponente("formDialogoSeleccionarMaterialesModeloCalzadoIngresar:", "DialogoSeleccionarMaterialesModeloCalzadoIngresar");
       
       this.initComponentes("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"); 
       
       //carga los datos en los SelectOneMenu Insumo 
            List <Insumo> listaInsumo=this.getModelocalzadoBean().getInsumoController().findInsumoOrderBy(true, -1,-1);        

            List<SelectItem> selectOneMenuListInsumo = new ArrayList<SelectItem>();  
            selectOneMenuListInsumo.add(new SelectItem("0","Seleccione..."));
            for(int i=0;i<listaInsumo.size();i++)
            {
                String codInsumo=listaInsumo.get(i).getCodinsumo();
                String nombreInsumo=listaInsumo.get(i).getNombreinsumo();
                selectOneMenuListInsumo.add(new SelectItem(JsfUtil.setValueYLabelSelectOneMenu(codInsumo, nombreInsumo),nombreInsumo));
                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
            }                   
            UISelectItems itemsInsumo = new UISelectItems();  
            itemsInsumo.setValue(selectOneMenuListInsumo); 
            this.getComboSeleccionarInsumoMateriaPrimaIngresar().getChildren().clear();
            this.getComboSeleccionarInsumoMateriaPrimaIngresar().getChildren().add(itemsInsumo);            
//            this.getTextDescripcionMaterialModeloCalzadoIngresar().setValue(this.cadenabytes);
       
       this.resetComponentes("formDialogoSeleccionarMaterialesModeloCalzadoIngresar");     
   }
   public void clicBotonActualizar(String form)
   {
       if(this.getLogin().verificarLogin())
       {
           this.initComponentes(form);
        //       this.resetComponentes(form);
            List<Object>listaComponentes=new ArrayList<Object>();
            listaComponentes.add( this.getTextCodModeloCalzadoIngresar());
            listaComponentes.add( this.getComboSeleccionarLineaProduccionFkModeloCalzado());
            listaComponentes.add( this.getComboSeleccionarHormaFkModeloCalzado()); 
            listaComponentes.add( this.getTextCodigoCalzadoIngresar());
            listaComponentes.add( this.getTextNombreModeloCalzadoIngresar());
            listaComponentes.add( this.getComboSeleccionarTallaEstandarModeloCalzado());
            listaComponentes.add( this.getTextPrecioUnitarioModeloCalzadoIngresar());
            listaComponentes.add( this.getTextObservacionesModeloCalzadoIngresar() );
            listaComponentes.add( this.getSelectEstadoModeloCalzadoIngresar());
            listaComponentes.add(this.getBotonAgregarModeloCalzadoIngresar() );
            listaComponentes.add(this.getBotonQuitarModeloCalzadoIngresar() );
            listaComponentes.add(this.getBotonImagenFrontalModeloCalzadoIngresar() );
    //        listaComponentes.add(this.getBotonVerImagenFrontalModeloCalzadoIngresar() );
            listaComponentes.add( this.getBotonImagenPosteriorModeloCalzadoIngresar());
    //        listaComponentes.add( this.getBotonVerImagenPosteriorModeloCalzadoIngresar());
            listaComponentes.add( this.getTablaEstructuraMaterialesIngresar());
            listaComponentes.add( this.getScrollPanelTabla());

            System.out.println("List<String>listaComponentesEstilos----- +listaComponentesEstilos.get(0) ..... "+form+"  valor "+this.getComboSeleccionarLineaProduccionFkModeloCalzado().getValue()+" --------CCCCC this.getSelectActivoMateriaPrimaAgregadoIngresar().getValue() = ");
            if(!this.esCamposVacios(listaComponentes,form))
            { 
                String [] lineaproduccion=JsfUtil.getValueYLabelSelectOneMenu(this.getComboSeleccionarLineaProduccionFkModeloCalzado().getValue().toString());
                String [] horma= JsfUtil.getValueYLabelSelectOneMenu(this.getComboSeleccionarHormaFkModeloCalzado().getValue().toString());
                Modelocalzado mc=new Modelocalzado();
                mc.setCodestructuramateria(this.getTextCodModeloCalzadoIngresar().getValue().toString().trim().toUpperCase());
                mc.setLineaproduccionFk(this.getModelocalzadoBean().getLineaproduccionController().findLineaproduccion(lineaproduccion[0]));
                mc.setHormaFk(this.getModelocalzadoBean().getHormaController().findHorma(horma[0]));
                mc.setCodigocalzado(this.getTextCodigoCalzadoIngresar().getValue().toString().trim().toUpperCase());
                mc.setNombremodelo(this.getTextNombreModeloCalzadoIngresar().getValue().toString().trim().toUpperCase());
                mc.setTallaestandar(this.getComboSeleccionarTallaEstandarModeloCalzado().getValue().toString().trim());
                mc.setPreciounitario(Double.parseDouble(this.getTextPrecioUnitarioModeloCalzadoIngresar().getValue().toString().trim()));
                mc.setEstado(Boolean.parseBoolean(this.getSelectEstadoModeloCalzadoIngresar().getValue().toString()));
                if(this.bytesImagenFrontalModeloCalzado==null) 
                {
                    System.out.println("999999999  bytesImagenFrontalModeloCalzado es null");
                    mc.setImagenfrontal(JsfUtil.getImagenNoDisponible());
                }
                else
                {
                    mc.setImagenfrontal(this.bytesImagenFrontalModeloCalzado);
                }
                if(this.bytesImagenPosteriorModeloCalzado==null) 
                {
                    System.out.println("999999999  bytesImagenPosteriorModeloCalzado es null");
                    mc.setImagenposterior(JsfUtil.getImagenNoDisponible());
                }
                else
                {
                    mc.setImagenposterior(this.bytesImagenPosteriorModeloCalzado);
                }
                mc.setObservaciones(this.getTextObservacionesModeloCalzadoIngresar().getValue().toString().trim().toUpperCase());
                mc.setDigitador(Integer.parseInt(this.getUsuarioBean().getUsuario().getCodUsuario()));
                mc.setFechadigitador(new Date());
                    List <Estructuramaterialesbom> listaestructuramateriales=new ArrayList<Estructuramaterialesbom>();
                    
                    for(int i=0;i<this.getListaTablaEstructuraMateriales().size();i++)
                    {
                        
                        ModeloCalzadoBean.tablaEstructuraMateriales tem=this.getListaTablaEstructuraMateriales().get(i);
                        Estructuramaterialesbom bom=new Estructuramaterialesbom();
                        if(tem.getCodbom()!=null)
                        {
                            bom.setCodbom(tem.getCodbom());
                        }
                        bom.setCantidadporpar(tem.getCantidad());
                        bom.setDescripcion(tem.getDescripcion().trim().toUpperCase());
                        bom.setDigitador(mc.getDigitador());
                        bom.setFechadigitador(mc.getFechadigitador());
                        bom.setFechavigencia(JsfUtil.convertirAFecha(tem.getFechaVigencia()));
                        bom.setMateriaprimaFk(this.getModelocalzadoBean().getMateriaprimaController().findMateriaprima(tem.getMateriaPrima_fk()));
                        boolean obligatorio=false;
                        if(tem.getEsObligatorio().equals("Item Obligatorio"))
                            obligatorio=true;
                        bom.setObligatorio(obligatorio);
                        listaestructuramateriales.add(bom);
                    }
                 mc.setEstructuramaterialesbomList(listaestructuramateriales);  
                 this.getModelocalzadoBean().setModelocalzado(mc);
                 List listaRespuestaIngreso=this.getModelocalzadoBean().modificarModeloCalzado();
                 if((Boolean)listaRespuestaIngreso.get(0))    
                {
                    this.resetComponentes("formDialogoModificarModeloCalzado");
                    this.mostrarDialogo("formDialogoModificarModeloCalzado", "DialogoModificarModeloCalzado", false);

                    JsfUtil.mostrarMensajeJS(listaRespuestaIngreso.get(1).toString());
                    List <Modelocalzado> datos=this.getModelocalzadoBean().consultarModelocalzado(this.consultaActual, this.criterioConsultaActual,this.coincidenciaActual,this.todo, this.maxResultados,this.primerResultado);                    
                    this.setTablaDatosModelocalzado(datos);
                    JsfUtil.updateComponente("tabviewModeloCalzado","");
//                    List <List> datos=this.getMateriaprima().consultarMateriaPrima(this.consultaActual, this.criterioConsultaActual,this.coincidenciaActual,"Suela");                    
//                            this.setTablaSuela(datos.get(3));
//                            this.updateComponente("tabMateriaPrima", "");
//                            org.primefaces.component.tabview.TabView tab=(org.primefaces.component.tabview.TabView)FacesContext.getCurrentInstance().getViewRoot().findComponent("tabMateriaPrima");
//                            tab.setActiveIndex(3);
                    //this.buscarMateriaPrima
                }
                System.out.println("No estan vacios");
            }
            else
            {
                System.out.println("estan vacioslos campos");
                this.mostrarMensajeJS("estan vacioslos campos", form,"DialogoIngresarModeloCalzado", true);
                JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarHormaFkModeloCalzado());
                JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarLineaProduccionFkModeloCalzado());
                JsfUtil.corregirSelectOneMenu(this.getComboSeleccionarTallaEstandarModeloCalzado());
            }
            
       }      
       else
       {
            JsfUtil.mostrarMensaje("error","No está ingresado al sistema","");            
    //            this.borrarDatos();
       }
   }
//*********************Fin Metodos para modificar datos modelo calzado ***********************
//*********************Metodos para eliminar datos modelo calzado ***********************
   public void clicBotonEliminarModeloCalzadoToolbar()
   {
       List <String> lista=new ArrayList();
       
       try{
           
           lista.add(this.getModelocalzadoSeleccionado().getCodestructuramateria());
           lista.add("("+this.getModelocalzadoSeleccionado().getCodigocalzado()+") "+this.getModelocalzadoSeleccionado().getNombremodelo());
           this.setDatosModelocalzadoSeleccionado(lista);
       }
       catch(Exception e)
       {
           System.out.println("Excepcion en clicBotonEliminarModeloCalzado");
           JsfUtil.mostrarMensajeJS("Seleccione una fila para eliminar los datos!");
       }      
   }
   public void clicBotonEliminarModeloCalzado()
   {
       if(this.getLogin().verificarLogin())
        {
            
            String codModeloCalzado=this.getModelocalzadoSeleccionado().getCodestructuramateria();

            List listaRespuestaIngreso=this.getModelocalzadoBean().eliminarModeloCalzado(codModeloCalzado);
            if((Boolean)listaRespuestaIngreso.get(0))                
            {
                    JsfUtil.mostrarMensajeJS(listaRespuestaIngreso.get(1).toString());
                    List <Modelocalzado> datos=this.getModelocalzadoBean().consultarModelocalzado(this.consultaActual, this.criterioConsultaActual,this.coincidenciaActual,this.todo, this.maxResultados,this.primerResultado);                    
                    this.setTablaDatosModelocalzado(datos);
                    JsfUtil.updateComponente("tabviewModeloCalzado","");
                    System.out.println("Materia Prima Eliminada: "+codModeloCalzado);
            } 
            else
            {
//                JsfUtil.updateComponente("formDialogoIngresarHorma", "DialogoIngresarHorma");                
                JsfUtil.mostrarMensajeJS(listaRespuestaIngreso.get(1).toString());
            }
            
       }
        else
        {
            JsfUtil.mostrarMensajeJS("No está ingresado al sistema!");            
//            this.borrarDatos();
        }
   }
}







/*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package mrp.web;
//
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.Serializable;
//import java.util.ArrayList;
//import java.util.List;
//import javax.faces.application.FacesMessage;
//import javax.faces.bean.ManagedBean;
//import javax.faces.bean.ManagedProperty;
//import javax.faces.bean.SessionScoped;
//import javax.faces.component.html.HtmlOutputText;
//import javax.faces.component.html.HtmlSelectOneMenu;
//import javax.faces.context.FacesContext;
//import javax.swing.ImageIcon;
//import mrp.beans.ModeloCalzadoBean;
//import mrp.beans.ModeloCalzadoBean.tablaEstructuraMateriales;
//import mrp.persistencia.entity.Lineaproduccion;
//import org.primefaces.component.calendar.Calendar;
//import org.primefaces.component.commandbutton.CommandButton;
//import org.primefaces.component.datatable.DataTable;
//import org.primefaces.component.dialog.Dialog;
//import org.primefaces.component.inputtext.InputText;
//import org.primefaces.component.inputtextarea.InputTextarea;
//import org.primefaces.component.scrollpanel.ScrollPanel;
//import org.primefaces.component.selectbooleancheckbox.SelectBooleanCheckbox;
//import org.primefaces.component.fileupload.FileUpload;
//import org.primefaces.context.RequestContext;
//import org.primefaces.event.FileUploadEvent;
//
///**
// *
// * @author root
// */
//@ManagedBean(name="modelocalzadoWeb")
//@SessionScoped
//public class ModeloCalzadoWeb implements Serializable{
//    @ManagedProperty("#{modelocalzado}")
//    private ModeloCalzadoBean modelocalzado;
//    //_______________________________________________________________________________________________ 
//    //----------------------------Componentes de ingreso--------------------------------     
//     //-LineaProduccionFk
//    private HtmlSelectOneMenu comboSeleccionarLineaProduccionFkModeloCalzado;
//    
//    //-hormaFk
//    private HtmlSelectOneMenu comboSeleccionarHormaFkModeloCalzado;
//    
//    //-TallaEstandar
//    private HtmlSelectOneMenu comboSeleccionarTallaEstandarModeloCalzado;
//    
//    //-Materia Prima
//    private InputText textCodModeloCalzadoIngresar;
//    private InputText textCodigoCalzadoIngresar;
//    private InputText textNombreModeloCalzadoIngresar;
//    private InputText textPrecioUnitarioModeloCalzadoIngresar;
//    private InputTextarea textObservacionesModeloCalzadoIngresar;
//    private CommandButton botonAgregarModeloCalzadoIngresar;
//    private CommandButton botonQuitarModeloCalzadoIngresar;
//    private DataTable tablaEstructuraMaterialesIngresar;
//    private SelectBooleanCheckbox selectEstadoModeloCalzadoIngresar;
//    private CommandButton botonImagenFrontalModeloCalzadoIngresar;
//    //private CommandButton botonVerImagenFrontalModeloCalzadoIngresar;
//    private CommandButton botonImagenPosteriorModeloCalzadoIngresar;
//    //private CommandButton botonVerImagenPosteriorModeloCalzadoIngresar;
//    private ScrollPanel scrollPanelTabla;
//            
//            //--tabla del detalle de materias primas que componen el modelo de calzado
//                private List<ModeloCalzadoBean.tablaEstructuraMateriales> listaTablaEstructuraMateriales=new  ArrayList<ModeloCalzadoBean.tablaEstructuraMateriales>();
//            //--fin tabla del detalle de materias primas que componen el modelo de calzado    
//                
//            //--componentes de seleccion de materias primas para el modelo de calzado (detalle)
//                private HtmlSelectOneMenu comboSeleccionarInsumoMateriaPrimaIngresar;
//                private HtmlSelectOneMenu comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar;
//                private InputText textCantidadMateriaPrimaModeloCalzadoIngresar; 
//                private HtmlOutputText labelUnidadMedidaSeleccionarMateriales;
//                private InputTextarea textDescripcionMaterialModeloCalzadoIngresar;
//                private Calendar textFechaVigencia;
//                private SelectBooleanCheckbox selectEsObligatorioMaterialModeloCalzadoIngresar;
//            //--fincomponentes de seleccion de materias primas para el modelo de calzado (detalle)
//             
//            //--componentes de seleccion de imagen para el modelo de calzado 
//                private FileUpload fileUploadImagenFrontalModeloCalzado;
//                private FileUpload fileUploadImagenPosteriorModeloCalzado;
//            //--componentes de seleccion de imagen para el modelo de calzado     
//    
//    //-----------------fin Componentes modificarDatos-----------------------
//    //_______________________________________________________________________________________________  
//    //********************metodos Getters and Setters***************************
//
//    public ModeloCalzadoBean getModelocalzado() {
//        return modelocalzado;
//    }
//
//    public void setModelocalzado(ModeloCalzadoBean modelocalzado) {
//        this.modelocalzado = modelocalzado;
//    }
//    
//    //-----------------Getters and Setters ingreso ---------------------------
//        
//    public CommandButton getBotonAgregarModeloCalzadoIngresar() {
//        return botonAgregarModeloCalzadoIngresar;
//    }
//
//    public void setBotonAgregarModeloCalzadoIngresar(CommandButton botonAgregarModeloCalzadoIngresar) {
//        this.botonAgregarModeloCalzadoIngresar = botonAgregarModeloCalzadoIngresar;
//    }
//
//    public CommandButton getBotonImagenFrontalModeloCalzadoIngresar() {
//        return botonImagenFrontalModeloCalzadoIngresar;
//    }
//
//    public void setBotonImagenFrontalModeloCalzadoIngresar(CommandButton botonImagenFrontalModeloCalzadoIngresar) {
//        this.botonImagenFrontalModeloCalzadoIngresar = botonImagenFrontalModeloCalzadoIngresar;
//    }
//
//    public CommandButton getBotonImagenPosteriorModeloCalzadoIngresar() {
//        return botonImagenPosteriorModeloCalzadoIngresar;
//    }
//
//    public void setBotonImagenPosteriorModeloCalzadoIngresar(CommandButton botonImagenPosteriorModeloCalzadoIngresar) {
//        this.botonImagenPosteriorModeloCalzadoIngresar = botonImagenPosteriorModeloCalzadoIngresar;
//    }
//
//    public CommandButton getBotonQuitarModeloCalzadoIngresar() {
//        return botonQuitarModeloCalzadoIngresar;
//    }
//
//    public void setBotonQuitarModeloCalzadoIngresar(CommandButton botonQuitarModeloCalzadoIngresar) {
//        this.botonQuitarModeloCalzadoIngresar = botonQuitarModeloCalzadoIngresar;
//    }
//    public HtmlSelectOneMenu getComboSeleccionarHormaFkModeloCalzado() {
//        return comboSeleccionarHormaFkModeloCalzado;
//    }
//
//    public void setComboSeleccionarHormaFkModeloCalzado(HtmlSelectOneMenu comboSeleccionarHormaFkModeloCalzado) {
//        this.comboSeleccionarHormaFkModeloCalzado = comboSeleccionarHormaFkModeloCalzado;
//    }
//
//    public HtmlSelectOneMenu getComboSeleccionarLineaProduccionFkModeloCalzado() {
//        return comboSeleccionarLineaProduccionFkModeloCalzado;
//    }
//
//    public void setComboSeleccionarLineaProduccionFkModeloCalzado(HtmlSelectOneMenu comboSeleccionarLineaProduccionFkModeloCalzado) {
//        this.comboSeleccionarLineaProduccionFkModeloCalzado = comboSeleccionarLineaProduccionFkModeloCalzado;
//    }
//
//    public HtmlSelectOneMenu getComboSeleccionarTallaEstandarModeloCalzado() {
//        return comboSeleccionarTallaEstandarModeloCalzado;
//    }
//
//    public void setComboSeleccionarTallaEstandarModeloCalzado(HtmlSelectOneMenu comboSeleccionarTallaEstandarModeloCalzado) {
//        this.comboSeleccionarTallaEstandarModeloCalzado = comboSeleccionarTallaEstandarModeloCalzado;
//    }
//
//    public SelectBooleanCheckbox getSelectEstadoModeloCalzadoIngresar() {
//        return selectEstadoModeloCalzadoIngresar;
//    }
//
//    public void setSelectEstadoModeloCalzadoIngresar(SelectBooleanCheckbox selectEstadoModeloCalzadoIngresar) {
//        this.selectEstadoModeloCalzadoIngresar = selectEstadoModeloCalzadoIngresar;
//    }
//
//    public DataTable getTablaEstructuraMaterialesIngresar() {
//        return tablaEstructuraMaterialesIngresar;
//    }
//
//    public void setTablaEstructuraMaterialesIngresar(DataTable tablaEstructuraMaterialesIngresar) {
//        this.tablaEstructuraMaterialesIngresar = tablaEstructuraMaterialesIngresar;
//    }
//
//    public InputText getTextCodModeloCalzadoIngresar() {
//        return textCodModeloCalzadoIngresar;
//    }
//
//    public void setTextCodModeloCalzadoIngresar(InputText textCodModeloCalzadoIngresar) {
//        this.textCodModeloCalzadoIngresar = textCodModeloCalzadoIngresar;
//    }
//
//    public InputText getTextCodigoCalzadoIngresar() {
//        return textCodigoCalzadoIngresar;
//    }
//
//    public void setTextCodigoCalzadoIngresar(InputText textCodigoCalzadoIngresar) {
//        this.textCodigoCalzadoIngresar = textCodigoCalzadoIngresar;
//    }
//
//    public InputText getTextNombreModeloCalzadoIngresar() {
//        return textNombreModeloCalzadoIngresar;
//    }
//
//    public void setTextNombreModeloCalzadoIngresar(InputText textNombreModeloCalzadoIngresar) {
//        this.textNombreModeloCalzadoIngresar = textNombreModeloCalzadoIngresar;
//    }
//
//    public InputTextarea getTextObservacionesModeloCalzadoIngresar() {
//        return textObservacionesModeloCalzadoIngresar;
//    }
//
//    public void setTextObservacionesModeloCalzadoIngresar(InputTextarea textObservacionesModeloCalzadoIngresar) {
//        this.textObservacionesModeloCalzadoIngresar = textObservacionesModeloCalzadoIngresar;
//    }
//
//    public InputText getTextPrecioUnitarioModeloCalzadoIngresar() {
//        return textPrecioUnitarioModeloCalzadoIngresar;
//    }
//
//    public void setTextPrecioUnitarioModeloCalzadoIngresar(InputText textPrecioUnitarioModeloCalzadoIngresar) {
//        this.textPrecioUnitarioModeloCalzadoIngresar = textPrecioUnitarioModeloCalzadoIngresar;
//    }
//
//    public ScrollPanel getScrollPanelTabla() {
//        return scrollPanelTabla;
//    }
//
//    public void setScrollPanelTabla(ScrollPanel scrollPanelTabla) {
//        this.scrollPanelTabla = scrollPanelTabla;
//    }
//
//    public HtmlSelectOneMenu getComboSeleccionarInsumoMateriaPrimaIngresar() {
//        return comboSeleccionarInsumoMateriaPrimaIngresar;
//    }
//
//    public void setComboSeleccionarInsumoMateriaPrimaIngresar(HtmlSelectOneMenu comboSeleccionarInsumoMateriaPrimaIngresar) {
//        this.comboSeleccionarInsumoMateriaPrimaIngresar = comboSeleccionarInsumoMateriaPrimaIngresar;
//    }
//
//    public HtmlSelectOneMenu getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar() {
//        return comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar;
//    }
//
//    public void setComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar(HtmlSelectOneMenu comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar) {
//        this.comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar = comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar;
//    }
//
//    public SelectBooleanCheckbox getSelectEsObligatorioMaterialModeloCalzadoIngresar() {
//        return selectEsObligatorioMaterialModeloCalzadoIngresar;
//    }
//
//    public void setSelectEsObligatorioMaterialModeloCalzadoIngresar(SelectBooleanCheckbox selectEsObligatorioMaterialModeloCalzadoIngresar) {
//        this.selectEsObligatorioMaterialModeloCalzadoIngresar = selectEsObligatorioMaterialModeloCalzadoIngresar;
//    }
//
//    public InputText getTextCantidadMateriaPrimaModeloCalzadoIngresar() {
//        return textCantidadMateriaPrimaModeloCalzadoIngresar;
//    }
//
//    public void setTextCantidadMateriaPrimaModeloCalzadoIngresar(InputText textCantidadMateriaPrimaModeloCalzadoIngresar) {
//        this.textCantidadMateriaPrimaModeloCalzadoIngresar = textCantidadMateriaPrimaModeloCalzadoIngresar;
//    }
//
//    public InputTextarea getTextDescripcionMaterialModeloCalzadoIngresar() {
//        return textDescripcionMaterialModeloCalzadoIngresar;
//    }
//
//    public void setTextDescripcionMaterialModeloCalzadoIngresar(InputTextarea textDescripcionMaterialModeloCalzadoIngresar) {
//        this.textDescripcionMaterialModeloCalzadoIngresar = textDescripcionMaterialModeloCalzadoIngresar;
//    }
//
//    public Calendar getTextFechaVigencia() {
//        return textFechaVigencia;
//    }
//
//    public void setTextFechaVigencia(Calendar textFechaVigencia) {
//        this.textFechaVigencia = textFechaVigencia;
//    }
//
//    public HtmlOutputText getLabelUnidadMedidaSeleccionarMateriales() {
//        return labelUnidadMedidaSeleccionarMateriales;
//    }
//
//    public void setLabelUnidadMedidaSeleccionarMateriales(HtmlOutputText labelUnidadMedidaSeleccionarMateriales) {
//        this.labelUnidadMedidaSeleccionarMateriales = labelUnidadMedidaSeleccionarMateriales;
//    }
//
//    public FileUpload getFileUploadImagenFrontalModeloCalzado() {
//        return fileUploadImagenFrontalModeloCalzado;
//    }
//
//    public void setFileUploadImagenFrontalModeloCalzado(FileUpload fileUploadImagenFrontalModeloCalzado) {
//        this.fileUploadImagenFrontalModeloCalzado = fileUploadImagenFrontalModeloCalzado;
//    }
//
//    public FileUpload getFileUploadImagenPosteriorModeloCalzado() {
//        return fileUploadImagenPosteriorModeloCalzado;
//    }
//
//    public void setFileUploadImagenPosteriorModeloCalzado(FileUpload fileUploadImagenPosteriorModeloCalzado) {
//        this.fileUploadImagenPosteriorModeloCalzado = fileUploadImagenPosteriorModeloCalzado;
//    }
//
//    public List<tablaEstructuraMateriales> getListaTablaEstructuraMateriales() {
//        return listaTablaEstructuraMateriales;
//    }
//
//    public void setListaTablaEstructuraMateriales(List<tablaEstructuraMateriales> listaTablaEstructuraMateriales) {
//        this.listaTablaEstructuraMateriales = listaTablaEstructuraMateriales;
//    }
//           
//    
//    //********************fin metodos Getters and Setters***************************
//    //_______________________________________________________________________________________________    
//   //*********************Metodos generales************************  
//   public void initComponentes(String form)
//   {
//       if(form.equals("formDialogoIngresarModeloCalzado"))
//       {
//          String[] componentes={"textCodModeloCalzadoIngresar",
//                                "comboSeleccionarLineaProduccionFkModeloCalzadoIngresar",
//                                "comboSeleccionarHormaFkModeloCalzadoIngresar",
//                                "textCodigoCalzadoIngresar",
//                                "textNombreModeloCalzadoIngresar",
//                                "comboSeleccionarTallaEstandarModeloCalzadoIngresar",
//                                "textPrecioUnitarioModeloCalzadoIngresar",
//                                "textObservacionesModeloCalzadoIngresar",
//                                "selectEstadoModeloCalzadoIngresar",
//                                "botonAgregarModeloCalzadoIngresar",
//                                "botonQuitarModeloCalzadoIngresar",
//                                "botonImagenFrontalModeloCalzadoIngresar",                                
//                                "botonImagenPosteriorModeloCalzadoIngresar",                                
//                                "tablaEstructuraMaterialesIngresar",
//                                "scrollPanelTabla"};             
//            this.setComponentes(form,componentes);//obtiene los datos de la vista web y los carga en los componentes de esta clase
//            List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
//            this.setEstilosTodosComponentes(listaComponentesEstilos,form);
//       }
//       else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
//       {
//          String[] componentes={"comboSeleccionarInsumoMateriaPrimaIngresar",
//                                "comboSeleccionarMateriaPrimaFkModeloCalzadoIngresar",
//                                "textCantidadMateriaPrimaModeloCalzadoIngresar",
//                                "labelUnidadMedidaSeleccionarMateriales",
//                                "textDescripcionMaterialModeloCalzadoIngresar",
//                                "textFechaVigencia",
//                                "selectEsObligatorioMaterialModeloCalzadoIngresar"};             
//            this.setComponentes(form,componentes);//obtiene los datos de la vista web y los carga en los componentes de esta clase
//            List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
//            this.setEstilosTodosComponentes(listaComponentesEstilos,form);
//       }
//   }
//   public void updateComponente(String form,String componente)
//   { 
//       try{
//        RequestContext context = RequestContext.getCurrentInstance();
//        //execute javascript oncomplete
//        //context.execute("PrimeFaces.info('Hello from the Backing Bean');");
//
//
//            //update panel
//        System.out.println(" --------^^^^^^^`` form= "+form+" context = "+context.toString());
//        context.update(form+componente);
//
//            //scroll to panel
//            //context.scrollTo("form:panel")
//
//            //add facesmessage
//            //FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Success", "Success"));
//       }
//       catch(Exception e)
//       {
//           System.out.println("error en metodo updateComponente: "+e);
//       }
//   }
//   public void mostrarDialogo(String form, String componente, boolean visible)
//   {
//       javax.faces.context.FacesContext facesContext = javax.faces.context.FacesContext.getCurrentInstance();
//       javax.faces.component.UIViewRoot root = facesContext.getViewRoot();
//       Dialog dialogo=(Dialog)root.findComponent(form).findComponent(componente);
//       dialogo.setVisible(visible);     
//   }
//   public void mostrarMensajeJS(String mensaje, String form, String componente, boolean componenteVisible ) 
//   {
//        RequestContext context = RequestContext.getCurrentInstance();
//     
//        //execute javascript oncomplete
//        context.execute("window.alert ('"+mensaje+"');");    
//        System.out.println("ya opaso por aca--------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
//        if(componenteVisible==true)
//        {
//            this.mostrarDialogo(form, componente, componenteVisible);            
//        }        
//    }
//    public void setComponentes(String form, String [] componente)// setea los componentes de vistas de con los componentes de esta clase
//   {
//       javax.faces.context.FacesContext facesContext = javax.faces.context.FacesContext.getCurrentInstance();
//      
//       javax.faces.component.UIViewRoot root = facesContext.getViewRoot();
////       System.out.println("valor del htmlselectone "+componente[0]+"   --- "+((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[0])).getValue());
//       if(form.equals("formDialogoIngresarModeloCalzado"))
//       {   
//           this.setTextCodModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[0]));
//           this.setComboSeleccionarLineaProduccionFkModeloCalzado((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[1]));
//           this.setComboSeleccionarHormaFkModeloCalzado((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[2]));
//           this.setTextCodigoCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[3]));
//           this.setTextNombreModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[4]));
//           this.setComboSeleccionarTallaEstandarModeloCalzado((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[5]));
//           this.setTextPrecioUnitarioModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[6]));
//           this.setTextObservacionesModeloCalzadoIngresar((InputTextarea)root.findComponent(form).findComponent(componente[7]));
//           this.setSelectEstadoModeloCalzadoIngresar((SelectBooleanCheckbox)root.findComponent(form).findComponent(componente[8]));
//           this.setBotonAgregarModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[9]));
//           this.setBotonQuitarModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[10]));
//           this.setBotonImagenFrontalModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[11]));
////           this.setBotonVerImagenFrontalModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[12]));
//           this.setBotonImagenPosteriorModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[12]));
////           this.setBotonVerImagenPosteriorModeloCalzadoIngresar((CommandButton)root.findComponent(form).findComponent(componente[14]));
//           this.setTablaEstructuraMaterialesIngresar((DataTable)root.findComponent(form).findComponent(componente[13]));
//           this.setScrollPanelTabla((ScrollPanel)root.findComponent(form).findComponent(componente[14]));
//           System.out.println("---ZZZZ agregado formDialogoIngresarModeloCalzado ");           
//       }
//       else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
//       {   
//           this.setComboSeleccionarInsumoMateriaPrimaIngresar((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[0]));
//           this.setComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar((HtmlSelectOneMenu)root.findComponent(form).findComponent(componente[1]));
//           this.setTextCantidadMateriaPrimaModeloCalzadoIngresar((InputText)root.findComponent(form).findComponent(componente[2]));
//           this.setLabelUnidadMedidaSeleccionarMateriales((HtmlOutputText)root.findComponent(form).findComponent(componente[3]));
//           this.setTextDescripcionMaterialModeloCalzadoIngresar((InputTextarea)root.findComponent(form).findComponent(componente[4]));
//           this.setTextFechaVigencia((Calendar)root.findComponent(form).findComponent(componente[5]));
//           this.setSelectEsObligatorioMaterialModeloCalzadoIngresar((SelectBooleanCheckbox)root.findComponent(form).findComponent(componente[6]));           
//           System.out.println("---ZZZZ agregado formDialogoIngresarModeloCalzado ");           
//       }
//       
//    }
//    public void resetComponentes(String form)
//    {
//       if(form.equals("formDialogoIngresarModeloCalzado"))
//       {
//           try{
//                this.getTextCodModeloCalzadoIngresar().setValue("");
//                this.getComboSeleccionarLineaProduccionFkModeloCalzado().setValue("0");
//                this.getComboSeleccionarHormaFkModeloCalzado().setValue("0");
//                this.getTextCodigoCalzadoIngresar().setValue("");
//                this.getTextNombreModeloCalzadoIngresar().setValue("");
//                this.getComboSeleccionarTallaEstandarModeloCalzado().setValue("0");
//                this.getTextPrecioUnitarioModeloCalzadoIngresar().setValue("");
//                this.getTextObservacionesModeloCalzadoIngresar().setValue("");
//                this.getSelectEstadoModeloCalzadoIngresar().setSelected(true);
//                this.getBotonAgregarModeloCalzadoIngresar();
//                this.getBotonQuitarModeloCalzadoIngresar();
//                this.getBotonImagenFrontalModeloCalzadoIngresar();
////                this.getBotonVerImagenFrontalModeloCalzadoIngresar();
//                this.getBotonImagenPosteriorModeloCalzadoIngresar();
////                this.getBotonVerImagenPosteriorModeloCalzadoIngresar();
//                this.getTablaEstructuraMaterialesIngresar().getChildren().clear();
//                this.getListaTablaEstructuraMateriales().clear();//se setea los datos de la clase donde estan los datos del detalle de materias primas del modelo de calzado
//           }
//           catch(java.lang.NullPointerException npe)
//            {
//                System.out.println("-------------Excepcion en resetComponentes() "+npe);
//            }
//       }
//       else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
//       {
//           try{
//                this.getComboSeleccionarInsumoMateriaPrimaIngresar().setValue("0");
//                this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().setValue("0");
//                this.getTextCantidadMateriaPrimaModeloCalzadoIngresar().setValue("");
//                this.getLabelUnidadMedidaSeleccionarMateriales().setValue("");
//                this.getTextDescripcionMaterialModeloCalzadoIngresar().setValue("");
//                this.getTextFechaVigencia().resetValue();             
//                this.getSelectEsObligatorioMaterialModeloCalzadoIngresar().setSelected(true);                
//           }
//           catch(java.lang.NullPointerException npe)
//            {
//                System.out.println("-------------Excepcion en resetComponentes() "+npe+"formDialogoSeleccionarMaterialesModeloCalzadoIngresar" );
//            }
//       }
//    }
//    private List<String> getEstilosTodosComponentes(String form)
//    {
//        List<String>listaComponentesEstilos=new ArrayList<String>();
//        if(form.equals("formDialogoIngresarModeloCalzado"))
//        {
//           listaComponentesEstilos.add("width: 150px; font-size: 12px;left: 155px; top: 22px; position: absolute");
//           listaComponentesEstilos.add("width: 242px; font-size: 12px;left: 155px; top: 52px; position: absolute");
//           listaComponentesEstilos.add("width: 242px; font-size: 12px;left: 155px; top: 82px; position: absolute");
//           listaComponentesEstilos.add("width: 235px; font-size: 12px;left: 155px; top: 112px; position: absolute");
//           listaComponentesEstilos.add("width: 235px; font-size: 12px;left: 155px; top: 142px; position: absolute");
//           listaComponentesEstilos.add("width: 120px; font-size: 12px;left: 155px; top: 172px; position: absolute");
//           listaComponentesEstilos.add("width: 115px; font-size: 12px;left: 155px; top: 202px; position: absolute");
//           
//           listaComponentesEstilos.add("width: 235px;height: 150px; font-size: 12px;left: 550px; top:20px; position: absolute ; overflow-y: auto");
//           listaComponentesEstilos.add("width: 150px; font-size: 12px;left: 155px; top: 410px; position: absolute");
//           
//           listaComponentesEstilos.add("font-size: 12px ;left: 155px; top: 232px; position: absolute; width: 120px");
//           listaComponentesEstilos.add("font-size: 12px ;left: 281px; top: 232px; width: 120px; position: absolute");
//           
//           listaComponentesEstilos.add("font-size: 12px ;left: 550px; top: 190px; width: 160px; position: absolute");
////           listaComponentesEstilos.add("font-size: 12px ;left: 715px; top: 190px; width: 70px; position: absolute");
//           listaComponentesEstilos.add("font-size: 12px ;left: 550px; top: 225px; width: 160px; position: absolute");
////           listaComponentesEstilos.add("font-size: 12px ;left: 715px; top: 225px; width: 70px; position: absolute");
//           listaComponentesEstilos.add("width: 639px");
//           listaComponentesEstilos.add("max-height: 135px;left: 155px; top: 267px; position: absolute");
//        }
//        else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
//        {
//           listaComponentesEstilos.add("width: 242px; font-size: 12px;left: 155px; top: 22px; position: absolute");
//           listaComponentesEstilos.add("width: 242px; font-size: 12px;left: 155px; top: 52px; position: absolute");
//           listaComponentesEstilos.add("width: 115px; font-size: 12px;left: 155px; top: 82px; position: absolute");
//           listaComponentesEstilos.add("vertical-align: middle; font-weight: bold;text-align: right; height: 20px; width: 125px;left: 20px; top: 85px; position: absolute ; font-size: 12px");
//           listaComponentesEstilos.add("width: 235px;height: 150px; font-size: 12px;left: 155px; top:112px; position: absolute ; overflow-y: auto");
//           listaComponentesEstilos.add("font-size: 9pt;left: 155px; top: 282px; position: absolute");
//           listaComponentesEstilos.add("width: 150px; font-size: 12px;left: 155px; top: 312px; position: absolute");                      
//        }
//        
////        listaComponentesEstilos.add("");
//        return listaComponentesEstilos;
//    }
//    private void setEstilosTodosComponentes(List<String>listaComponentesEstilos, String form)
//    {
//       if(form.equals("formDialogoIngresarModeloCalzado"))
//       {
//            this.getTextCodModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(0).toString());
//            this.getComboSeleccionarLineaProduccionFkModeloCalzado().setStyle(listaComponentesEstilos.get(1).toString());
//            this.getComboSeleccionarHormaFkModeloCalzado().setStyle(listaComponentesEstilos.get(2).toString());
//            this.getTextCodigoCalzadoIngresar().setStyle(listaComponentesEstilos.get(3).toString());
//            this.getTextNombreModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(4).toString());
//            this.getComboSeleccionarTallaEstandarModeloCalzado().setStyle(listaComponentesEstilos.get(5).toString());
//            this.getTextPrecioUnitarioModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(6).toString());
//            this.getTextObservacionesModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(7).toString());
//            this.getSelectEstadoModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(8).toString());
//            this.getBotonAgregarModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(9).toString());
//            this.getBotonQuitarModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(10).toString());
//            this.getBotonImagenFrontalModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(11).toString());
////            this.getBotonVerImagenFrontalModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(12).toString());
//            this.getBotonImagenPosteriorModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(12).toString());
////            this.getBotonVerImagenPosteriorModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(14).toString());
//            this.getTablaEstructuraMaterialesIngresar().setStyle(listaComponentesEstilos.get(13).toString());
//            this.getScrollPanelTabla().setStyle(listaComponentesEstilos.get(14).toString());
//        }
//        else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
//        {           
//                this.getComboSeleccionarInsumoMateriaPrimaIngresar().setStyle(listaComponentesEstilos.get(0).toString());
//                this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(1).toString());
//                this.getTextCantidadMateriaPrimaModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(2).toString());
//                this.getLabelUnidadMedidaSeleccionarMateriales().setStyle(listaComponentesEstilos.get(3).toString());
//                this.getTextDescripcionMaterialModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(4).toString());
//                this.getTextFechaVigencia().setStyle(listaComponentesEstilos.get(5).toString());          
//                this.getSelectEsObligatorioMaterialModeloCalzadoIngresar().setStyle(listaComponentesEstilos.get(6).toString());               
//        }
//    
//    }
//    public boolean esCamposVacios(List<Object>listaComponentes, String form)
//    {
//        boolean vacio=false;
//        List<String>listaComponentesEstilos=this.getEstilosTodosComponentes(form);
//       if(form.equals("formDialogoIngresarModeloCalzado"))
//       {
//           int posiciones[]={1,2,5};
//           for(int i=0;i<posiciones.length;i++)
//           {
//                String seleccion=((HtmlSelectOneMenu)listaComponentes.get(posiciones[i])).getValue().toString();
//                if(seleccion.equals("0"))
//                {               
//                    this.getModelocalzado().mostrarMensaje("error", "Seleccione una de las opciones!", "");
//                    vacio=true;
//                    ((HtmlSelectOneMenu)listaComponentes.get(posiciones[i])).setStyle(listaComponentesEstilos.get(posiciones[i])+";border-color: crimson;background-color: crimson");            
//                }
//           }
//           int posiciones1[]={3,4,6};
//           for(int i=0;i<posiciones1.length;i++)
//           {
//                try{
//                    if(((InputText)listaComponentes.get(posiciones1[i])).getValue().toString().isEmpty())
//                    {
//                        vacio=true;
//                        ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
//                    }
//                    else
//                    {
//                        String str=((InputText)listaComponentes.get(posiciones1[i])).getValue().toString();
//                        if((posiciones1[i]==6))
//                        {   
//                            try
//                            {
//                                double precio=Double.parseDouble(str);
//                            }
//                            catch(NumberFormatException nfe)
//                            {
//                                vacio=true;
//                                ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
//                                System.out.println("½½½½½½½½  Error en conversion de numero double en precio "+nfe);
//                            }
//                        }
//                    }
//                }
//                catch(java.lang.NullPointerException npe){
//                        vacio=true;
//                        ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
//                }
//           }
//           DataTable tabla=(DataTable)listaComponentes.get(13);
//           System.out.println("½½½½½½½½  ttaaaaablllaaaaaaaa= get rows count "+tabla.getRowCount()+" row data = ");
//           if(tabla.getRowCount()==1)
//           {
//               vacio=true;
//               this.getScrollPanelTabla().setStyle(listaComponentesEstilos.get(14)+";border-color: crimson");
//           }
//       }
//       else if(form.equals("formDialogoSeleccionarMaterialesModeloCalzadoIngresar"))
//       {
//           int posiciones[]={0,1};
//           for(int i=0;i<posiciones.length;i++)
//           {
//                String seleccion=((HtmlSelectOneMenu)listaComponentes.get(posiciones[i])).getValue().toString();
//                if(seleccion.equals("1"))
//                {               
//                    this.getModelocalzado().mostrarMensaje("error", "Seleccione una de las opciones!", "");
//                    vacio=true;
//                    ((HtmlSelectOneMenu)listaComponentes.get(posiciones[i])).setStyle(listaComponentesEstilos.get(posiciones[i])+";border-color: crimson;background-color: crimson");            
//                }
//           }
//           int posiciones1[]={2};
//           for(int i=0;i<posiciones1.length;i++)
//           {
//                try{
//                    String str=((InputText)listaComponentes.get(posiciones1[i])).getValue().toString();
//                       
//                    try
//                    {
//                        double precio=Double.parseDouble(str);
//                    }
//                    catch(NumberFormatException nfe)
//                    {
//                        vacio=true;
//                        ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
//                        System.out.println("½½½½½½½½  Error en conversion de numero double en precio "+nfe);
//                    }
//                }
//                catch(java.lang.NullPointerException npe){
//                        vacio=true;
//                        ((InputText)listaComponentes.get(posiciones1[i])).setStyle(listaComponentesEstilos.get(posiciones1[i])+";border-color: crimson");
//                }
//           }
//           try{
//                String str=((Calendar)listaComponentes.get(5)).getValue().toString();
//           }
//           catch(java.lang.NullPointerException npe){
//                    vacio=true;
//                    ((Calendar)listaComponentes.get(5)).setStyle(listaComponentesEstilos.get(5)+";background-color: crimson");
//           }
//       }
//        this.updateComponente(form,"");
//        return vacio;
//    }
//   //*********************fin Metodos generales************************  
//  //_______________________________________________________________________________________________    
//   
//    //.-metodos para agregar datos a la tabla de detalle de materia prima    
//    public boolean agregarFila(String nombreInsumo, String nombreMateriaPrima,double cantidad,String nombreUnidadMedida,String fechaVigencia, String esObligatorio,String descripcion,String materiaPrima_fk, String modeloCalzado_fk) {
//
//            ModeloCalzadoBean.tablaEstructuraMateriales nuevaFilaEstructura = new ModeloCalzadoBean.tablaEstructuraMateriales(nombreInsumo, nombreMateriaPrima, cantidad, nombreUnidadMedida, fechaVigencia,esObligatorio, descripcion, materiaPrima_fk, modeloCalzado_fk);
//            return this.getListaTablaEstructuraMateriales().add(nuevaFilaEstructura);
//    }
//
//    public boolean eliminarFila(ModeloCalzadoBean.tablaEstructuraMateriales eliminarFilaEstructura) {
//           
//            return this.getListaTablaEstructuraMateriales().remove(eliminarFilaEstructura);
//    }
//    //.-fin metodos agregar datos tabla de detalle de materia prima
//    
//    
//   public void clickBotonNuevaModeloCalzado()//boton del toolbar
//   {
//       this.initComponentes("formDialogoIngresarModeloCalzado");  
//       
////       //carga los datos en los SelectOneMenu Insumo 
////            List <Lineaproduccion> listaInsumo=this.getModelocalzado().getInsumoController().findInsumoEntities();        
////
////            List<SelectItem> selectOneMenuListInsumo = new ArrayList<SelectItem>();  
////            selectOneMenuListInsumo.add(new SelectItem("0","Seleccione..."));
////            for(int i=0;i<listaInsumo.size();i++)
////            {
//////                Insumo insumo=(Insumo)listaInsumo.get(0).get(i);
////                String codinsumo=listaInsumo.get(i).getCodinsumo();
////                String nombreinsumo=listaInsumo.get(i).getNombreinsumo();
////                selectOneMenuListInsumo.add(new SelectItem(codinsumo+"|"+nombreinsumo,nombreinsumo));
////                //System.out.println("listaInsumo "+insumo.getNombreInsumo());              
////            }                   
////            UISelectItems itemsInsumo = new UISelectItems();  
////            itemsInsumo.setValue(selectOneMenuListInsumo); 
//       
//       this.resetComponentes("formDialogoIngresarModeloCalzado");
//   }
//   public void clickBotonAgregarModeloCalzadoIngresar()//boton agregar botonAgregarModeloCalzadoIngresar 
//   {
//       System.out.println("@@@@@@@@@@@@@@@@@@ ehhhhhooooolaaaa");       
//       this.mostrarDialogo("formDialogoSeleccionarMaterialesModeloCalzadoIngresar", "DialogoSeleccionarMaterialesModeloCalzadoIngresar", true);
//       this.updateComponente("formDialogoSeleccionarMaterialesModeloCalzadoIngresar:", "DialogoSeleccionarMaterialesModeloCalzadoIngresar");
//       
//       this.initComponentes("formDialogoSeleccionarMaterialesModeloCalzadoIngresar");       
//       this.resetComponentes("formDialogoSeleccionarMaterialesModeloCalzadoIngresar");
//   }
//   
//   public void clicBotonAgregarMaterial(String form) //boton que se encuentra en el dialogo se seleccion de materias primas
//   {
//        System.out.println("/////////////////////////////////////////problemA");
//       this.initComponentes(form);
//       List<Object>listaComponentes=new ArrayList<Object>();
//        listaComponentes.add( this.getComboSeleccionarInsumoMateriaPrimaIngresar());
//        listaComponentes.add( this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar());
//        listaComponentes.add( this.getTextCantidadMateriaPrimaModeloCalzadoIngresar()); 
//        listaComponentes.add( this.getLabelUnidadMedidaSeleccionarMateriales()); 
//        listaComponentes.add( this.getTextDescripcionMaterialModeloCalzadoIngresar());
//        listaComponentes.add( this.getTextFechaVigencia());
//        listaComponentes.add( this.getSelectEsObligatorioMaterialModeloCalzadoIngresar());        
//        
//        System.out.println("List<String>listaComponentesEstilos----- +listaComponentesEstilos.get(0) ..... "+form);
//        if(!this.esCamposVacios(listaComponentes,form))
//        {    
//            String insumo=this.getComboSeleccionarInsumoMateriaPrimaIngresar().getValue().toString();
//            String nombremateriaprima=this.getComboSeleccionarMateriaPrimaFkModeloCalzadoIngresar().getValue().toString();
//            double cantidad=Double.parseDouble(this.getTextCantidadMateriaPrimaModeloCalzadoIngresar().getValue().toString());
//            String nombreunidadmedida=this.getLabelUnidadMedidaSeleccionarMateriales().getValue().toString();
//            String fechavigencia=this.getTextFechaVigencia().getValue().toString();
//            String esobligatorio=this.getSelectEsObligatorioMaterialModeloCalzadoIngresar().getValue().toString();
//                if(Boolean.parseBoolean(esobligatorio))
//                {   esobligatorio="Item Obligatorio";}
//                else
//                {esobligatorio="Item Opcional";}
//             String descripcion=  this.getTextDescripcionMaterialModeloCalzadoIngresar().getValue().toString();     
//             String materiaprima_fk="";
//             String modelocalzado_fk="";
//            boolean esnuevafila=this.agregarFila(insumo, nombremateriaprima,cantidad, nombreunidadmedida, fechavigencia, esobligatorio, descripcion, materiaprima_fk, modelocalzado_fk);
//            if(esnuevafila)
//            {
//                this.updateComponente("formDialogoIngresarModeloCalzado", ":tablaEstructuraMaterialesIngresar");
//                this.resetComponentes(form);
//                System.out.println("this.getListaTablaEstructuraMateriales().get(0).toString()  =  "+this.getListaTablaEstructuraMateriales().get(0).toString());    
//            }
//            else
//            {
//                this.mostrarMensajeJS("Error: No se pudo asociar Materia Prima al Modelo de Calzado!", form,"DialogoSeleccionarMaterialesModeloCalzadoIngresar", true);
//            }    
//            
//            System.out.println("No estan vacios  esnuevafila"+esnuevafila);            
//        }
//        else
//        {
//            System.out.println("Error: Datos mal llenados o no están ingresados!");
//            this.mostrarMensajeJS("Error: Datos mal llenados o no están ingresados!", form,"DialogoSeleccionarMaterialesModeloCalzadoIngresar", true);
//            //this.resetComponentes(form);
//        }
//   }
//   public void clicBotonGuardar(String form) ///boton guardar 
//   {       
//       this.initComponentes(form);
////       this.resetComponentes(form);
//       List<Object>listaComponentes=new ArrayList<Object>();
//        listaComponentes.add( this.getTextCodModeloCalzadoIngresar());
//        listaComponentes.add( this.getComboSeleccionarLineaProduccionFkModeloCalzado());
//        listaComponentes.add( this.getComboSeleccionarHormaFkModeloCalzado()); 
//        listaComponentes.add(  this.getTextCodigoCalzadoIngresar());
//        listaComponentes.add( this.getTextNombreModeloCalzadoIngresar());
//        listaComponentes.add( this.getComboSeleccionarTallaEstandarModeloCalzado());
//        listaComponentes.add( this.getTextPrecioUnitarioModeloCalzadoIngresar());
//        listaComponentes.add( this.getTextObservacionesModeloCalzadoIngresar() );
//        listaComponentes.add( this.getSelectEstadoModeloCalzadoIngresar());
//        listaComponentes.add(this.getBotonAgregarModeloCalzadoIngresar() );
//        listaComponentes.add(this.getBotonQuitarModeloCalzadoIngresar() );
//        listaComponentes.add(this.getBotonImagenFrontalModeloCalzadoIngresar() );
////        listaComponentes.add(this.getBotonVerImagenFrontalModeloCalzadoIngresar() );
//        listaComponentes.add( this.getBotonImagenPosteriorModeloCalzadoIngresar());
////        listaComponentes.add( this.getBotonVerImagenPosteriorModeloCalzadoIngresar());
//        listaComponentes.add( this.getTablaEstructuraMaterialesIngresar());
//        listaComponentes.add( this.getScrollPanelTabla());
//
//        System.out.println("List<String>listaComponentesEstilos----- +listaComponentesEstilos.get(0) ..... "+form+"  valor "+this.getComboSeleccionarLineaProduccionFkModeloCalzado().getValue()+" --------CCCCC this.getSelectActivoMateriaPrimaAgregadoIngresar().getValue() = ");
//        if(!this.esCamposVacios(listaComponentes,form))
//        { 
//            System.out.println("No estan vacios");
//        }
//        else
//        {
//            System.out.println("estan vacioslos campos");
//            this.mostrarMensajeJS("estan vacioslos campos", form,"DialogoIngresarModeloCalzado", true);
//        }
//    }
//   public void uploadImagenFrontalModeloCalzado(FileUploadEvent event)
//   {
//       String str="";
//       String nombreArchivo=event.getFile().getFileName();
//       try {
//        byte[] b=event.getFile().getContents();
//        //cargar la imagen en la clase modeloCalzado en el atributo imagenFrontal
//        str="Archivo \""+nombreArchivo+"\" fue subido al servidor con éxito!";
//       } catch (Exception e) {
//            e.printStackTrace();
//            str="Error al subir Archivo \""+nombreArchivo+"\" al servidor! "+ e.getMessage();
//       }
//       System.out.println("$$$$$$$$$$$$$$ Imagen frontal Ojo realpath = "+nombreArchivo);
//       this.mostrarMensajeJS(str, "formDialogoSeleccionarImagenModeloCalzado", "DialogoSeleccionarImagenFrontalModeloCalzado", false);
//   }
//   public void uploadImagenPosteriorModeloCalzado(FileUploadEvent event)
//   {
//       String str="";
//       String nombreArchivo=event.getFile().getFileName();
//       try {
//        byte[] b=event.getFile().getContents();
//        //cargar la imagen en la clase modeloCalzado en el atributo imagen posterior
//        str="Archivo \""+nombreArchivo+"\" fue subido al servidor con éxito!";
//       } catch (Exception e) {
//            e.printStackTrace();
//            str="Error al subir Archivo \""+nombreArchivo+"\" al servidor! "+ e.getMessage();
//       }
//       System.out.println("$$$$$$$$$$$$$$ Imagen posterior Ojo realpath = "+nombreArchivo);
//       this.mostrarMensajeJS(str, "formDialogoSeleccionarImagenModeloCalzado", "DialogoSeleccionarImagenPosteriorModeloCalzado", false);
//   }
//   
//   
//   
//   
//   ////////////////////////////////////////////////////////////////////////////////
//   public String upload(FileUploadEvent event) {
//
//       String str="";
//       String nombreArchivo=event.getFile().getFileName();
//        try {            
//          
//           byte[] b=event.getFile().getContents();
//           str=this.almacenaImagenServidor(b, nombreArchivo);
//             
//           System.out.println("Los datos de metodo upload "+nombreArchivo+"  ");          
//        } 
//        catch (IOException e) {
//            e.printStackTrace();
//            str="Error al subir Archivo \""+nombreArchivo+"\" al servidor! " + e.getMessage();
//        }
//        return str;
//    }
//   public String almacenaImagenServidor(byte[] b,String nombreArchivo) throws IOException
//   {
//       String str="";
//       String realpath=FacesContext.getCurrentInstance().getExternalContext().getRealPath("//upload");
//       System.out.println("$$$$$$$$$$$$$$ Ojo realpath = "+nombreArchivo);
//       try {
//            FileOutputStream fileOutputStream = new FileOutputStream(realpath+"/"+nombreArchivo);
//            fileOutputStream.write(b);
//            fileOutputStream.flush();
//            fileOutputStream.close();
//            str="Archivo \""+nombreArchivo+"\" fue subido al servidor con éxito!";
//        } catch (IOException e) {
//            e.printStackTrace();
//            str="Error al subir Archivo \""+nombreArchivo+"\" al servidor! "+ e.getMessage();
//        }
//       return str;
//   }
//   ////////////////////////////////////////////////////////////////////////////////
//}
//
//
